Optional

2023. 3. 8. 15:03Java

Optional은 자바 8에서 소개된 클래스로, 값이 없을 수도 있는(null 일 수도 있는) 객체를 감싸고 있는 래퍼 클래스입니다. 이 클래스는 null 처리를 간소화하고 예외를 방지하여 코드의 안정성을 높이는 데 사용됩니다.

Optional은 주로 다음과 같은 상황에서 사용됩니다.

  1. null 값을 리턴할 수 있는 메소드의 결과를 받을 때
  2. 매개변수가 null일 수 있는 메소드를 호출할 때
  3. 컬렉션에서 요소를 검색하고, 해당 요소가 존재하지 않을 때

Optional 클래스는 값이 존재하지 않을 때 예외를 던지지 않으며, isPresent() 메소드로 값이 존재하는지 여부를 확인할 수 있습니다. 또한, orElse() 메소드를 사용하여 값이 존재하지 않을 때 기본값을 설정할 수 있습니다.

예를 들어, 다음과 같이 Optional을 사용하여 null 처리를 간소화할 수 있습니다.

Optional<String> optional = Optional.ofNullable(getSomeString());
String result = optional.orElse("Default Value");​

위 코드에서 getSomeString() 메소드의 결과가 null이 아닌 경우, optional 객체에는 해당 결과가 포함됩니다. 그러나 결과가 null인 경우, orElse() 메소드에서 지정한 "Default Value"가 result 변수에 할당됩니다. 이렇게 함으로써 null 처리를 간소화하고 예외를 방지할 수 있습니다.

'Java' 카테고리의 다른 글

String과 StringBuffer의 차이  (0) 2024.09.27
Lambda Expression  (0) 2023.03.08
Enum  (0) 2023.03.08
Final  (0) 2023.03.08
Generic  (0) 2023.03.08