https://mangkyu.tistory.com/70를 참고하였습니다.
무엇을 배웠나요?
- 자바 8에서부터 Optional클래스를 이용해 NPE를 방지할수 있도록 도와준다.
- Optional<T>는 null이 올 수 있는 값을 감싸는 Wrapper 클래스이다.
- Optional 클래스는 각종 메서드들을 통해 값이 null이더라도 바로 NPE가 발생하지 않게 해준다.
- Optional 생성하기
- Optional.empty() - 값이 Null인 경우
- Optional.of() - 값이 Null이 아닌 경우
- Optional.ofNullable() - 값이 Null일수도, 아닐수도 있는 경우
- Optional은 null 또는 값을 감싸서 NPE(NullPointerException)로부터 부담을 줄이기 위해 등장한 Wrapper 클래스이다.
- Optional은 값을 Wrapping하고 다시 풀고, null 일 경우에는 대체하는 함수를 호출하는 등의 오버헤드가 있으므로 잘못 사용하면 시스템 성능이 저하된다.
- 메소드의 반환 값이 절대 null이 아니라면 Optional을 사용하지 않는 것이 좋다.
- Optional은 메소드의 결과가 null이 될 수 있으며, null에 의해 오류가 발생할 가능성이 매우 높을 때 반환값으로만 사용되어야 한다.
궁금한 점은 무엇인가요?
- 실무에서 Optional 문법이 자주 사용되는 경우를 알고 싶다.
더 필요하다고 생각한 것이 있나요?
'Java' 카테고리의 다른 글
자바8 Stream (0) | 2022.09.09 |
---|---|
자바8 람다 (0) | 2022.09.09 |
자바 for문에서 break사용하기 (0) | 2022.08.04 |