본문 바로가기
기술 정리/클린코드

Exception과 RuntimeException 차이?

by 뿌랭랭 2023. 4. 19.

Exception과 RuntimeException은 모두 자바에서 예외 처리를 위해 사용되는 클래스.

 

Exception

  • 예외 처리를 요구하는 모든 예외 클래스의 최상위 클래스입니다.
  • 모든 예외 클래스는 Exception 클래스를 상속받거나 Exception 클래스의 하위 클래스를 상속받습니다.
  • Checked Exception이라고도 하며, 컴파일러가 강제적으로 예외 처리를 요구하므로 반드시 예외 처리 코드를 작성해야 합니다.

RuntimeException

  • 반면에 RuntimeException은 Exception 클래스의 하위 클래스 중 하나이며, Unchecked Exception이라고도 합니다.
  • 컴파일러가 예외 처리를 강제하지 않으며, 개발자가 명시적으로 예외 처리를 구현하지 않아도 되는 예외입니다.
  • 즉, RuntimeException은 예외 처리 코드가 없더라도 컴파일이 가능하지만, Exception은 예외 처리 코드를 작성하지 않으면 컴파일 오류가 발생합니다.
  • 대표적인 RuntimeException으로는 NullPointerException, IndexOutOfBoundsException, ArithmeticException 등이있다.