About Java 2
< Error >
* OutOfMemoryError, stack overflowError
- 프로그램이 비 정상적으로 종료됨.
- 디버깅 필요
< Exception >
(자신보다 큰 범주에 있는 예외가 미리 처리되어 있다면, 작은 예외는 처리 할 필요가 없다.)
1. Checked Exception
* SQLException, IOException > FilNotFoundException
- 대처 코드(try~catch 또는 throws)가 없으면 컴파일이 진행되지 않음.
- 반드시 대처 코드 필요
2. Unchecked Exception
* RuntimeException > ArithmeticException
- 대처 코드 없어도 컴파일은 진행 가능.
- 언젠가 한 곳에서 try~catch 처리 필요
예외 발생 없이 항상 실행되어야 한다면 finally 구문 사용. (중간에 return을 만나도 실행됨)
< Singleton Pattern >
- setter는 필요X
- 객체를 생성하지 않고 외부에서 접근 가능해야 한다. -> getter, 변수에 static 추가
- 내부에서 생성자의 접근 제한자는 private
< polymorphism >
1. overloading in method
* 같음 - 메서드 이름
* 다름 - 파라미터 개수, 파라미터 순서, 파라미터 타입
* 상관 없음 - 리턴 타입
2. overriding in class -> 조상 클래스 메서드를 자식 클래스에서 수정
* 같음 - 메서드 이름, 파라미터 개수, 파라미터 타입, 파라미터 순서, 리턴 타입
* 다름 - 부모 보다 넓거나 같은 접근 제한자, 조상보다 작은 예외
instanceof를 통해 객체가 특정 class type의 개체인지 boolean으로 return