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));
자바에서 Optional 클래스 사용하기: 안전한 null 처리 방법
자바 8의 Optional 클래스 사용법을 소개하며, 안전한 null 처리 방법에 대해 설명하는 글입니다.
f-lab.kr
728x90
'Java' 카테고리의 다른 글
[Java] next() & nextLine() (0) | 2025.05.27 |
---|---|
[Java] HashMap의 key에 클래스를 사용하면? (0) | 2025.05.26 |
[IntelliJ] 단축키 (0) | 2025.05.11 |
[Spring] @RestControllerAdvice를 이용한 예외처리 (0) | 2025.05.05 |
[Java] 제네릭과 아일드카드 / 공변과 불공변 (0) | 2025.05.05 |