Choose a default theme

You can change your theme from the menu

Java Optional

Optional은 값이 있거나 없다는 상태를 표현하는 Java 컨테이너 타입이다. 결과가 없을 수 있는 메서드 반환값에 주로 사용한다.

원리

값이 있으면 변환하거나 소비하고 없으면 기본값을 선택하는 API를 제공한다. Optional 객체 자체를 null로 두지 않는 것이 계약을 명확하게 한다.

예시

사용자 검색 결과를 Optional<User>로 반환하면 호출자가 없는 경우를 orElseGet이나 다른 분기로 처리할 수 있다.

주의할 점

존재 확인 없이 get을 호출하면 빈 상태에서 예외가 난다. 모든 필드를 무조건 Optional로 감싸는 것과 결과 부재를 명시하는 설계는 구별해야 한다.

참고 자료