1. optional(옵셔널) 이란 ?
- 개발을 하다 보면 NPE를 만나게 되는데 옵셔널은 NPE(NullPointerException) 문제를 해결할 수 있는 방법을 제공한다.
- 즉, null 값으로 인해 에러가 발생하는 현상을 효율적으로 방지하는 것이다.
- null 체크해야 될 부분이 많다면 코드가 복잡해져 가독성이 떨어지는 단점이 있다.
- Java 8 에서는 Optional<T> 클래스를 도입하였는데, '존재할 수도 있지만 안 할 수도 있는 객체' 로 null 이 될 수도 있는 객체를 감싸고 있는 Wrapper 클래스이다.
- Optional로 객체를 감싸서 사용하게 되면 NPE 방지를 위해 null 체크를 직접 하지 않아도 되며, 명시적으로 해당 변수가 null 일 수도 있다는 가능성을 포함하고 있기 때문에 불필요한 방어 로직을 줄일 수 있다.
2. 옵셔널 클래스 (Optional Class)
- 옵셔널 클래스는 모든 타입의 객체를 담을 수 있는 래퍼 클래스이다.
- Optional 객체를 생성하려면 of() 메서드 도는 ofNullable() 메서드를 사용한다. 참조 변수의 값이 null 일 가능성이 있다면, ofNullable() 메서드를 사용한다.
- isPresent() : isPresent() 메서드는 Optional 객체의 참조 변수의 값이 null 이면 false / null 이 아니면 true를 반환한다.
- empty() : Optional 타입의 참조 변수를 기본값으로 초기화하려면 empty() 메서드를 사용한다.
- get() : Optional 객체에 저장된 값을 가져오려면 get() 메서드를 사용한다.
만약, 참조 변수의 값이 null 일 가능성이 있다면, orElse() 메서드를 통해 티폴트 값을 지정할 수 있다.
*출처
[Java] 자바 옵셔널(Optional) 개념 정리 및 활용 (tistory.com)
[Java] 자바 옵셔널(Optional) 개념 정리 및 활용
Optional 옵셔널(Optional)은 NPE(NullPointerException) 문제를 해결할 수 있는 방법을 제공한다. 즉, null 값으로 인해 에러가 발생하는 현상을 효율적으로 방지하는 것이다. 연산 결과를 Optional에 담아서 반
ittrue.tistory.com
[JAVA] Optional 개념 및 사용법, 예제 (tistory.com)
[JAVA] Optional 개념 및 사용법, 예제
1. Optional이란? 개발을 하다 보면 NullPointException(NPE)을 만나게 된다. 가장 많이 발생하는 에러 중 하나라고 하는데, 이를 피하기 위해선 null을 체크하는 로직이 추가되어야 한다. DeviceVo deviceVo = devi
ynzu-dev.tistory.com
'용어 정리' 카테고리의 다른 글
| MyBatis vs JPA (0) | 2024.01.16 |
|---|---|
| DBMS, RDBMS (0) | 2024.01.15 |
| Import (0) | 2024.01.11 |
| MVC, SpringMVC (1) | 2024.01.11 |
| 라이브러리 vs 프레임워크 (0) | 2024.01.10 |