[JAVA] Object 클래스
·
Back-End/Java
[작성일: 2023. 02. 02]  Object 클래스모든 클래스의 최고 조상오직 11개의 메서드만을 가지고 있음.notify(), wati() 등은 스레드와 관련된 메서드.protected는 오버라이딩 해서 public으로 변경해야 사용할 수 있음. object 클래스의 메서드설명protected Object clone()객체 자신의 복사본을 반환public boolean equals(Object obj)객체 자신과 객체 obj가 같은 객체인지 알려줌.(같으면 true)protected void finalize()객체가 소멸될 때 가비지 컬렉터에 의해 자동적으로 호출 됨.이때 수행되어야 하는 코드가 있을 때 오버라이딩 함. (거의 사용x)pulbic Class getClass()객체 자신의 클래스 정..
[JAVA] 내부 클래스
·
Back-End/Java
[작성일: 2023. 02. 01]  내부 클래스(inner class)클래스 안의 클래스내부 클래스에서 외부 클래스의 멤버들을 객체생성 없이 쉽게 접근할 수 있음.코드의 복잡성을 줄일 수 있음.(캡슐화)내부 클래스의 종류와 유효범위(scope)는 변수와 동일함.(iv, cv, lv)class A { // B 클래스의 외부 클래스 int i = 100; B b = new B(); class B { // A 클래스의 내부 클래스 void method() { System.out.println(i); // 객체 생성없이 외부 클래스의 멤버 접근 가능 } }}// class C {// B b = new B(); // 사용 불가// }public class InnerTest {..
[JAVA] 예외처리
·
Back-End/Java
[작성일: 2023. 01. 31] 목차 프로그램 오류컴파일 에러(compile-time error): 컴파일할 때 발생하는 에러런타임 에러(runtime error): 실행할 때 발생하는 에러(실행은 되지만 프로그램이 종료됨)논리적 에러(logical error): 작성 의도와 다르게 동작(프로그램 종료되지 않음)✏️ Java의 런타임 에러에러는 어쩔 수 없지만 예외는 처리해야 함.에러(error)  프로그램 코드에 의해서 수습될 수 없는 심각한 오류 (메모리 부족 등)예외(exception)  프로그램 코드에 의해 수습될 수 있는 다소 미약한 오류처리 불가능한 에러 OOM(Out Of Memory)✏️ 예외처리의 정의   프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드 작성목적   프로그..
[JAVA] 객체지향 - 디폴트 메서드, static 메서드
·
Back-End/Java
[작성일: 2023. 01. 31] 목차 디폴트 메서드, static 메서드인터페이스에 디폴트 메서드, static 메서드 추가 (JDK 1.8부터)인터페이스에 새로운 메서드(추상 메서드)를 추가하기 어려움.해결책: 디폴트 메서드(default method)디폴트 메서드는 인스턴스 메서드(인터페이스 원칙 위반, 추상메서드가 아닌 예외상황 발생)interpace MyInterface { void method(); void newMethod(); // 추상메서드 //기존에 있던 인터페이스들이 이 추상메서드가 추가되면서 전부 수정하는 번거로움이 있음.}// ⬇️interface MyInterface { void method(); default void newMethod() {} // 추상메서드가 아니..
[JAVA] 기본 클래스
·
Back-End/Java
[작성일: 2023. 01. 31] 목차 기본 클래스(Base class)클래스명설명SystemSystem.curruntTimeMillis() : 현재 시간을 밀리초 단위로 가져옴. (1970년 1월 1일 0시 기준)사용법변수1 = 실행 한 번 하기실행 문장 수행변수2 = 실행 한 번 하기변수2  - 변수1 = 실행문장의 수행 시간StringBuffer- String은 값이 바뀔 때마다 새롭게 공간 할당하지만 StringBuffer은 뒤에다 붙임.- String은 equals로 값이 같은지 비교 가능하지만 StringBuffer은 equals 사용 불가능- StringBuffer은 toString()으로 변환 후, .equals() 사용- insert, delete, append 등Math- abs(값)..
[JAVA] 객체지향 - 인터페이스
·
Back-End/Java
[작성일: 2023. 01. 30] 목차 인터페이스(Interface)추상 메서드의 집합(프로그래밍 관점) 구현된 것이 전혀 없는 설계도 껍데기(모든 멤버가 public) ➡️객체를 만들 수 없음.하나의 시스템을 구성하는 두 개의 요소, 또는 두 개의 다른 시스템이 상호 작용을 할 수 있게 하는 접속 경계접속하기 위한 하드웨어, 소프트웨어, 조건, 규약 등을 포괄적으로 가리킴.interface 인터페이스명 { // iv, cv 등 변수는 가질 수 없음. public static final 타입 상수이름 = 값; // 상수 public abstract 메서드명(매개변수 목록); // 추상 메서드({}이 없음.)} // 모든 인터페이스의 멤버는 public만을 가짐.interface PlayingCard..