다른 사람들이 코딩 테스트에서 최소 최대값을 구할때 Optional을 사용하는 것 많이 보아 Optional이 무엇인지 간단하게 정리해본다.
Optional
- 오직 값이 1개가 들어 있을 수도 없을 수도 있는 컨테이너
나온 원인
- NullPointException을 유효성 검사 없이 막기 위해.
Optional 사용
- 비어있는 객체가 반환될 수 있는 상황에서 Optional 객체로 반환 값을 래핑하면 NullPointException으로 부터 안전
주의
- API 공식 문세에서 리턴값으로만 쓰기를 권장
- 메서드 매개변수 타입, Map의 key 타입, 인스턴스 필드 타입으로 사용하지 않기
참고 1
참고 2
당장 사용할 일은 없을 것 같으나 어떤 배경에서 등장하게 되었는지 이해하게 되었다.