[아이템55] 옵셔널 반환은 신중히 하라
·
1️⃣ 백앤드/이펙티브 자바
1. 값을 반환할 수 없을 때자바 8 이전에는, 예외를 던지거나 null 을 반환할 수 있었다. 자바 8 버전으로 올라가면서 Optional 가 등장했는데, null 이 아닌 T 타입 참조를 하나 담거나 아무것도 담지 않을 수 있다. 아무것도 담지 않은 옵셔널이 가능하며, '비었다'고 말한다. 옵셔널은 최대 원소를 하나만 가질 수 있다.T를 반환해야 하지만, 특정 조건에서 아무것도 반환하지 않아야 할 때 T 대신 Optional 를 반환한다.이를 통해 유효한 반환값이 존재하지 않으면, 빈 결과를 반환하는 메서드가 생성된다. 옵셔널을 반환하는 메서드가 예외를 던지는 메서드보다 유연하고 사용하기 쉽고, null 을 반환하는 메서드보다 오류 가능성이 적다. 아래 주어진 컬렉션에서 최대값을 뽑는 max 메서드를..