Optional는 Java 8에서 추가가 되었는데 null 처리를 도와주는 Wrapper 클래스라고 한다.
Optional 클래스와 해당 클래스가 제공하는 orElse, orElseGet을 이용하면 쉽게 NPE(NotPointerException) 처리가 가능하다!
orElseThrow(NullPointerException::new)
: null 이라면 함수형 파라미터로 생성한 예외(NullPointerException)를 발생시킨다.
orElse(person)
: null이면 파라미터(person)를 반환한다. 이때 파라미터(person)은 해당 값이 null이든지 말든지 항상 미리 생성된다.
orElseGet
: null이면 파라미터(person)를 반환한다. 이때 파라미터(person)은 해당 값이 null 일때만 생성된다. 즉 미리 생성되지 않는다.
-> 공식문서