(참고사이트) https://cheese10yun.github.io/checked-exception/
Checked Exception 과 Unchecked Exception
위 상속 구조를 처럼
Unchecked Exception는 RuntimeException을 상속하고
Checked Exception는 RuntimeException을 상속하지 않습니다.
이것이 중요한 포인트입니다.
반드시 명시적으로 처리해야 하기 때문에 Checked Exception이라고 하며, try catch를 해서 에러를 잡든 throws를 통해서 호출한 메서드로 예외를 던져야 합니다.
명시적인 예외 처리를 강제하지 않는 특징이 있기 때문에 Unchecked Exception이라 하며, catch로 잡거나 throw로 호출한 메서드로 예외를 던지지 않아도 상관이 없습니다.
말 그대로 실행 중에(runtime) 발생할 수 있는 예외를 의미합니다.
📌
Checked Exception은 프로그램 작성시 이미 예측가능한 예외를 작성할 때 사용하고
Unchecked Exception은 발생 할수도 발생 안 할수도 있는 경우에 작성한다.