주제
목차
내용
orElse는 사용하지 못했던 경우인가?
if(optional.isEmpty())를 쓰는 것 보다는 throw하고 예외를 발생시켜서 에러 메시지를 출력 하는게 더 좋은 방법이 아닐까?
- null을 반환하면 NullPointerException이 발생할 가능성이 있으므로 예기치 못한 애플리케이션 장애를 코드에 내제하게 되는 것. NullPointerException은 정확한 원인을 추적하기 어려운 듯하다.
- null을 반환하게 되면 하위 메서드가 상위 메서드에게 오류 처리를 떠넘기는 것 (책임 전가)
- null 처리로 인해 if문이 늘어나므로 코드가 지저분해진다.
- 핵심 로직과 null 체크 구문이 뒤섞이게 되면서 핵심로직을 파악하기 어려워 진다.
- null 체크는 쉽게 누락하기 쉽다.
- 개발자의 실수로 인해 null 체크를 하지 않는다면 애플리케이션 장애로 이어질 수 있다.
- Optional은 null을 사용하지 않으면서 값이 없음을 표현할 수 있다.
- NullPointerException은 try catch하는 것을 권장하지 않는다고 한다.