Replies: 2 comments 3 replies
-
자바 유틸 라이브러리 hashmap 의 get의 경우 object가 없으면 null을 반환하게끔 되어있는데요 |
Beta Was this translation helpful? Give feedback.
2 replies
-
그럼 위와 같은 상황에서는 Exception을 발생시켜주는 게 좋은 방법일까요? |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
문제
함수가
null
값을 반환할 수 있다.예시
해결
이 함수를 사용하는 입장에서는 이 함수가 null을 반환할 수 있는지 예상할 수 없고, 그리고 null처리를 하지 않아도
자바 컴파일러는 아무런 불만도 표현하지 않기 때문에 위험성이 있는 것 같아요. 만약 반환 타입을 Optional 그대로 반환한다면, 함수의 Signature에서 이 값이 있을 수도 있고 없을 수도 있다는 의도를 드러내고 있고, 없는 경우를 처리하지 않으면 컴파일도 되지 않아서 에러 처리를 강제할 수 있어요
하지만 Optional 반환은 다른 부분이 어떻게 만들어졌냐가 관건이라고 보는데, 함수형으로 처리 중이 아니라면 예외가 가장 일반적이죠. Optional을 리턴하면 사용하는 쪽에서 비슷한 코드를 작성해야 하기 때문에 사용하기 힘든 인터페이스가 될 가능성이 커요.
Beta Was this translation helpful? Give feedback.
All reactions