Optional을 둘 위치와 두지 않을 위치
부재를 반환 계약으로 표현할 때 가장 효과적이다.
| 위치 | 권장 | 이유 |
|---|---|---|
| 조회 method 반환 | 사용 | caller가 부재 정책 선택 |
| entity field | 지양 | 직렬화·identity·중첩 상태 복잡 |
| method parameter | 지양 | 호출자가 container 생성 부담 |
| collection element | 지양 | 빈 collection과 element 부재 혼동 |
핵심: field와 parameter의 선택성은 별도 type, overload, builder 같은 domain 모델로 표현한다.