Search
Duplicate
🚨

Checked vs Unchecked

: Checked와 Unchecked는 모두 예외다. 즉 Exception을 상속받은 객체들이다.

정의

: Checked는 일반적으로 Exception를 상속받은 예외 중, RuntimeException을 상속받지 않은 예외들을 의미한다.
: Unchecked는 RuntimeException을 상속받은 예외들을 의미한다.
개념
: Unchecked Exception과 Checked Exception의 차이는 컴파일러가 해당 예외를 검출할 수 있느냐와 없느냐의 차이로 나뉜다.
: Unchecked Exception은 Runtime Exception을 상속받는 것에서 알 수 있듯이 프로그램이나 웹 애플리케이션 실행중 발생할 수 있는 예외들로 컴파일러가 잡아내지 못한다.
: Checked Exception은 컴파일러가 체크할 수 있는 예외들로 컴파일 과정에서 발생할 수 있는 예외들을 체크하는 데 사용된다.
사용법
: Unchecked Exception은 메소드에 명시할 필요 없이 사용 가능하다. 단순히 예외를 처리하고 싶다면 catch로 잡아서 처리하면 된다.
: Checked Exception은 메소드에 명시해서 해당 메소드가 발생시킬 수 있는 Checked Exception을 명시해야 한다. 예외 처리 방법은 Unchecked Exception과 같다.