이번에 참여한 면접에서 질문 받았으나 답변을 하지 못해 공부하고 정리한 내용이다.
https://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html
명시적인 예외 처리를 강제한다. Check Exception이라 한다. 반드시 try catch로 예외를 잡거나 throw로 호출한 메소드에게 예외를 던져야한다.
명시적인 예외 처리를 강제하기 않기 때문에 Uncheck Exception이라 한다. 명시적인 예외 처리 try catch로 예외를 잡거나 throw로 호출한 메소드에게 예외를 던지지 않는 행위를 말한다.
| 구분 | Checked Exception | Uncheck Exception |
|---|---|---|
| 확인 시점 | 컴파일 시점 | 런타임 시점 |
| 처리 여부 | 반드시 예외 처리 | 명시적으로 하지 않아도 됨 |
| 트랜잭션 처리 | 예외 발생시 롤백하지 않음 | 예외 발생시 롤백해야 함 |
| 종류 | IOException, ClassNotFountException 등 | NullPointException,ClassCastException 등 |