개발/Java

[Java]Optional

흰아리 2022. 3. 1. 00:06

자바개발자라면 가장 많이 겪게 되는 오류 중 하나가 NullPointerException(NPE)일 것이다.

 

그리고 지금까지의 고전적인 자바 개발 방식에서는 이러한 null 문제를 해결하기 위해 NPE가 발생할 수 있는 부분에 if문을 통한 검증을 늘 포함해주어야 했다.

 

예를들면 if(name != null){ } 과 같이 말이다. 또는 String name = ""; 과 같이 초기값을 지정해줘야 한다...

 

null값이 도출되는 변수에 대해 자바8 이상 버전부터 지원하는 래퍼클래스가 Optional이다.

 

Optional에서는 아래와 같이 제네릭 클래스로 모든 타입의 변수를 감싸줄 수 있다.

Optional 클래스의 주요 메소드는 다음과 같다.

 

값이 비어있을 때 - Optional.empty()

값이 Null이 아닌 때 - Optional.of()
값이 Null일수도 있고, 아닐수도 있을 때 - Optional.ofNullbale()