Optional
- Optional은 선택형값을 캡슐화하는 클래스이다.
- Optionald을 이용하면 값이 없는 상황이 우리 데이터에 문제가 있는 것인지 아니면 알고리즘의 버그인지 명확하게 구분할 수 있다.
- Optional의 역할은 더 이해하기 쉬운 API를 설계하도록 돕는 것이다.
- 메서드의 시그니처만 보고도 선택형값인지 여부를 구별할 수 있다.
빈 Optional
Optional<Car> optCar = Optional.empty();
null이 아닌 값으로 Optional
Optional<Car> optCar = Optional.of(car);
car가 null이면 즉시 NullPointerException 발생
null값으로 Optional
Optional<Car> optCar = Optional.ofNullable(car);
car가 null이면 빈 Optional 객체가 반환