Java

[Java] Optional 클래스

bornsoon 2025. 5. 21. 11:22
Optional 클래스란?
null이 올 수 있는 값을 감싸는 컨테이너 클래스 (Wrapper class)

Java 8부터 도입.
NullPointerException을 방지하고, 명시적으로 "값이 있을 수도, 없을 수도 있음"을 표현.

 

<핵심 개념>

Optional<String> name = Optional.of("홍길동");
Optional<String> empty = Optional.empty();
  • Optional.of(value) : 값이 무조건 존재함을 보장 (null 넣으면 예외)
  • Optional.ofNullable(value) : 값이 있을 수도 없을 수도 있음
  • Optional.empty() : 빈 Optional 객체

 

메서드 설명
isPresent() 값이 존재하는지 여부(true/false)
get() 값을 꺼냄(값 없으면 예외 발생)
orElse(default) 값이 없을 경우 기본값 반환
orElseGet(Supplier) 값이 없을 경우 함수 실행해서 반환
ifPresent(Consumer) 값이 있을 경우만 실행
map(Function) Optional 내부 값을 가공

 

 

<예시>

Optional<String> name = Optional.ofNullable(null);

// 기본값 반환
String result = name.orElse("이름 없음"); // "이름 없음"

// 값이 있을 때만 출력
name.ifPresent(n -> System.out.println("이름: " + n));

 

 


https://f-lab.kr/insight/using-java-optional?gad_source=1&gad_campaignid=22368870602&gbraid=0AAAAACGgUFfQprcvGPJAmlWQlOf72Py4c&gclid=Cj0KCQjw0LDBBhCnARIsAMpYlArSVsXKkq2EDvQPYmQuBRhZOx20mU7136YANd3ryBU8CNaRCvFkzBEaAvfXEALw_wcB

 

자바에서 Optional 클래스 사용하기: 안전한 null 처리 방법

자바 8의 Optional 클래스 사용법을 소개하며, 안전한 null 처리 방법에 대해 설명하는 글입니다.

f-lab.kr

 

728x90