1. 예외(Exception)란

1️⃣ 정의

예외란 프로그램 실행 중 발생하는 비정상적인 상황으로,

이를 처리하지 않으면 프로그램이 즉시 종료됩니다.

“컴파일은 되지만, 실행 중 문제가 발생하는 상황”


2️⃣ 예외 vs 에러(Error)

구분 Exception Error
발생 시점 실행 중 JVM 레벨
복구 가능
예시 NullPointerException OutOfMemoryError

👉 개발자가 처리 대상 = Exception


2. Java 예외 구조 (계층)

Throwable
 ├─ Error
 └─ Exception
      ├─ RuntimeException
      │    ├─ NullPointerException
      │    ├─ ArrayIndexOutOfBoundsException
      │    └─ NumberFormatException
      └─ Checked Exception
           ├─ IOException
           └─ SQLException


3. Checked Exception / Unchecked Exception

1️⃣ Checked Exception

정의

컴파일 시점에 반드시 처리해야 하는 예외


특징