아이템55. 옵셔널(Optional) 자바 8 이전 메서드가 특정 조건에서 값을 반환할 수 없을 때 취할 수 있는 선택지 예외를 던진다. null을 반환한다. 위 두 방법의 문제점. 예외는 예외적인 상황에만 사용해야 하며, 예외를 생성할 때 스택 추적 전체를 캡처하므로 비용도 만만치 않다. null을 반환하도록 메서드를 구현하면, NPE를 고려해서 클라이언트에서 항상 null체크를 해야함. NPE(NullPointerException)이 무서운 이유 근본적인 원인 즉, null을 반환한 부분에서 예외가 발생하는 것이 아니라, 원인과 상관 없는 부분에서 그 값을 사용하려할 때 예외가 발생하기 때문에 발생 시점을 추적하기 번거롭다. 지비8 이후 null처리의 구원자 Optional Optional은 null..