- Checked Exception
- Unchecked Exception
- Error
에러는 시스템에 비정상적인 상황이 발생했을 경우에 발생합니다.
예를들어 OutofMemoryError or StackOverflowError 등과 같은 복구할 수 없는 것이 바로 Error 입니다.
예외는 프로그램 실행 중에 개발자의 실수로 얘기치 않은 상황이 발생했을때를 말합니다.
예를들어 배열의 범위를 벗어난 ArrayIndexOutofBoundsException 이나 NullPointerException or FileNotFoundException 등등이 있습니다.
체크예외 - Checked Exception
언체크 예외 - Unchecked Exception
위의 자바 에러 클래스의 계층 구조를 보았을 때 RuntimeException의 하위 클래스들이 Uncheck Exception 이라 하고 RuntimeException의 하위 클래스가 아닌 Exception 클래스의 하위 클래스들을 Checked Exception이라고 합니다.
체크 예외는 RuntimeException의 하위 클래스가 아니면서 Exception 클래스의 하위 클래스들입니다. 체크 예외의 특징은 반드시 에러 처리를 해야하는 특징(try/catch or throw)을 가지고 있습니다.
체크 예외의 예시는 이러한 것들이 있습니다.
언체크 예외는 RuntimeException의 하위 클래스들을 의미합니다. 이것은 체크 예외와는 달리 에러 처리를 강제하지 않습니다.
말 그대로 실행 중에(runtime) 발생할 수 있는 예외를 의미합니다.
고생 많으십니다!