Optional 값을 소비하는 두 방식

기본값이 필요한지 예외가 필요한지에 따라 terminal operation을 고른다.

orElseGet

비어 있을 때만 Supplier로 기본값을 계산한다

fallback

orElseThrow

비어 있으면 domain 예외를 만들어 던진다

required
정책 위치caller가 absence 의미를 알고 선택하도록 반환 계약을 유지한다

핵심: 검사 뒤 get을 호출하는 절차보다 목적을 직접 나타내는 API가 상태 누락을 줄인다.