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
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
문제
함수가
null
값을 반환할 수 있다.예시
해결
이 함수를 사용하는 입장에서는 이 함수가 null을 반환할 수 있는지 예상할 수 없고, 그리고 null처리를 하지 않아도
자바 컴파일러는 아무런 불만도 표현하지 않기 때문에 위험성이 있는 것 같아요. 만약 반환 타입을 Optional 그대로 반환한다면, 함수의 Signature에서 이 값이 있을 수도 있고 없을 수도 있다는 의도를 드러내고 있고, 없는 경우를 처리하지 않으면 컴파일도 되지 않아서 에러 처리를 강제할 수 있어요
하지만 Optional 반환은 다른 부분이 어떻게 만들어졌냐가 관건이라고 보는데, 함수형으로 처리 중이 아니라면 예외가 가장 일반적이죠. Optional을 리턴하면 사용하는 쪽에서 비슷한 코드를 작성해야 하기 때문에 사용하기 힘든 인터페이스가 될 가능성이 커요.
Beta Was this translation helpful? Give feedback.
All reactions