작성
·
425
0
선생님 강의 시청도중 궁금증이 생겨서 질문남깁니다.
자바 8부터 객체 리턴시에 null이 리턴되어 참조되는걸 방지하고자 optional을 사용한다고 말씀하셨는데요
optional로 감싼 객체는 1회용으로 거기서 원래 객체를 꺼내면 메모리에 남은 optional객체는 gc가 수거해야할 쓰레기가 되는건가요?
그렇다면 무분별한 optional남용은 오버헤드를 초래할 수 있을 것 같은데요 메소드명에 OrNull을 추가해서 명시적으로 해당 메서드에서는 null이 리턴될 가능성이 있다고 알리고 사용하는 쪽에서 null값을 리턴받은경우에 대한 예외처리를 분기문등으로 진행하는게 낫지 않나요?
정확히 optional을 사용할때의 어떤 장점때문에 오버헤드의 가능성을 감수하고 사용하는 건가요?
답변 1
2
Optional과 관련하여 정리된 블로그 링크를 남깁니다.
모든 getter에 Optional 남용은 자바측의 의도가 아니라고 하네요.
- 하지만 세상만사가 모두 개발자의 뜻대로 흘러가는것도 아니죠 (미소)
codesweaver님 좋은 링크 감사합니다!