Java 8에 추가됨. null일 수도 있는 객체를 감싸는 일종의 Wrapper class
반복적인 null 체크를 줄일 수 있다.
Spring Data JPA 사용 시 Repository에서 리턴 타입을 Optional로 바로 받을 수 있다.
Optional<Member> optMember = Optional.empty();
Optional<Member> optMember = Optional.of(member);
Optional<Member> optMember = Optional.ofNullable(member);
NoSuchElementException 발생isPresent() 로 체크 후 사용Member member = optMember.get();
Member member = optMember.orElseThrow(NullPointerException::new);
Member member = optMember.orElse(member1);