CH14-3 · FLOW

Optional로 값 없음 표현하기 예제가 실행되는 순서

조회가 Optional 상태 반환에서 시작해 없음 정책을 orElse·throw로 선택까지 값과 책임이 이동한다.

  1. 1
    조회가 Optional 상태 반환

    단일 값을 찾는 메서드가 null 대신 Optional를 반환하면 호출자가 map, orElse, orElseThrow로 정책을 고릅니다.

  2. 2
    값이 있을 때만 map 변환

    Optional.of(null)은 즉시 실패하고 ofNullable(null)은 empty를 만듭니다.

  3. 3
    없음 정책을 orElse·throw로 선택

    Optional을 연쇄 조건문처럼 중첩하지 않고 값 변환 흐름을 연결합니다.

실행 순서 존재하는 조회에는 map이 실행되고 없는 조회에서만 orElseGet의 Supplier가 호출됩니다.