1. Optional이란

1️⃣ 정의

Optional이란 null이 될 수 있는 값을 감싸는 컨테이너 객체로,

NullPointerException(NPE)을 명시적으로 다루기 위해 등장한 클래스입니다.

“null을 직접 쓰지 말고,

null일 수도 있다는 사실을 타입으로 표현하자”


2. Optional이 등장한 이유

기존 방식의 문제점 ❌

String name = getName();
if (name != null) {
    System.out.println(name.length());
}

Optional 사용 ⭕ (의도 명확)

Optional<String> name = getName();
name.ifPresent(n -> System.out.println(n.length()));

👉 null 가능성이 코드에 드러남


3. Optional 기본 구조

Optional<T>