빈 collection과 Optional collection의 의미

결과 개수 0개와 조회 자체 부재를 같은 층위로 만들지 않는다.

List<T>

일치하는 결과가 없으면 empty List를 반환한다

zero to many

Optional<List<T>>

container 부재와 empty List 두 상태가 겹친다

ambiguous
API 단순화여러 결과 조회는 null 대신 빈 collection을 반환한다

핵심: Optional<List<T>>가 정당하려면 조회 불가와 결과 0개가 실제로 다른 domain 상태여야 한다.