문제

  • 기존에 runtime 시 NPE(NullPointerException) 발생할 때,
    NPE 방어하기 위해 추가한 null check => 가독성이 떨어진다 !!!!

 

해결

  • java 8에 java.util.Optional<T>라는 새로운 클래스가 추가 되었다.

Optional이란?

  • 존재할 수도 있지만, 안할 수도 있는 객체, null이 될 수도 있는 객체를 감싸고 있는 일종의 Wrapper 클래스
  • 기존엔 객체를 직접 null인지 체크했지만, optional에 담아서 쓰면 null을 다루기 좋아짐.

Optional 효과

  • 명시적으로 해당 변수가 null일 수도 있다는 가능성을 표현할 수 있음.
  • NPE를 유발할 수 있는 null을 직접 다루지 않아도 됨
  • null 체크를 직접하지 않아도 됨.

'Java' 카테고리의 다른 글

Priority Queue 매개변수에 람다식 쓰기  (1) 2024.01.24

+ Recent posts