isPresent와 get 절차가 만드는 상태 부담

검사와 사용을 분리하면 이후 수정에서 빈 상태 경로가 빠질 수 있다.

1

조회

Optional<User>

unknown

2

검사

isPresent()

branch

3

추출

get()

unsafe if moved

4

목적 API

map·orElseThrow

policy together

핵심: 검사와 추출보다 변환·기본값·예외라는 목적을 한 표현에 결합한다.