Optional
글 작성자: juyoungit
Optional이 지향하는 핵심적인 내용은 바로 "null"을 직접 다루지 말고 Optional 객체에 넣어서 관리하자! 라는 부분이다. 즉, null을 직접 다루는 것이 아니라 Optional Object라는 중간다리를 통해 관리함으로서 NPE(= NullPointerException)의 발생가능성을 최대한 줄이겠다는 목적을 가지고 탄생한 것이라고 볼 수 있다.
여기서 NPE를 최대한 피하려고 하는 구체적인 이유는 개발하는 프로그램의 size가 커진 경우, NPE의 발생은 디버깅이 어렵기 때문이다.
Optional Object를 통해서
Optional
null value handling을 위해서 java 8부터 새롭게 추가된 개념
- java에서는 null value 때문에 상당히 많은 수의 NPE(= NullPointerException) 가 발생함
- 그래서 이 NPE의 발생을 방지하기 위해서 작성하는 로직이 source code의 가독성을 저하시킴
- 이와 관련된 다양한 종류의 method 들이 java에서 지원됨. ⇒ 버전업이 진행되면서 새로운 것들이 추가되기도 함
- Optional.of
- Optional.ofNullable
- Optional.empty
- filter
- map
- flatMap
- ifPresent
- isPresent
- get
- orElse
- orElseGet
- orElseThrow
- 여기서 종단처리의 의미는 Optional 객체의 chaning을 끝냄을 의미함.
- Optional 객체를 생성한 후 사용 가능한 method, 해당 method들은 다시 Optional 객체를 반환하기 때문에 method chaning을 통해서 원하는 로직 반복삽입 가능
- (Optional의 종단처리와 관련된 method들)
- (Optional의 중간처리와 관련된 method들)
- (Optional의 생성과 관련된 method들)
(이후에 관련 구체적인 개념들을 추후에 다시 업데이트 하는 것으로 하겠음)
'Web Backend > Java' 카테고리의 다른 글
OOP(Object Oriented Programming language) 개념 (0) | 2021.06.29 |
---|---|
Java 에 대한 기본적인 정리 (0) | 2021.06.29 |
enum (0) | 2021.06.28 |
Map & HashMap의 차이점 (0) | 2021.06.28 |
LocalDateTime (0) | 2021.06.28 |
댓글
이 글 공유하기
다른 글
-
OOP(Object Oriented Programming language) 개념
OOP(Object Oriented Programming language) 개념
2021.06.29 -
Java 에 대한 기본적인 정리
Java 에 대한 기본적인 정리
2021.06.29 -
enum
enum
2021.06.28 -
Map & HashMap의 차이점
Map & HashMap의 차이점
2021.06.28