선생님 optional<>관련 질문이 있습니다.
541
작성한 질문수 2
선생님 강의 시청도중 궁금증이 생겨서 질문남깁니다.
자바 8부터 객체 리턴시에 null이 리턴되어 참조되는걸 방지하고자 optional을 사용한다고 말씀하셨는데요
optional로 감싼 객체는 1회용으로 거기서 원래 객체를 꺼내면 메모리에 남은 optional객체는 gc가 수거해야할 쓰레기가 되는건가요?
그렇다면 무분별한 optional남용은 오버헤드를 초래할 수 있을 것 같은데요 메소드명에 OrNull을 추가해서 명시적으로 해당 메서드에서는 null이 리턴될 가능성이 있다고 알리고 사용하는 쪽에서 null값을 리턴받은경우에 대한 예외처리를 분기문등으로 진행하는게 낫지 않나요?
정확히 optional을 사용할때의 어떤 장점때문에 오버헤드의 가능성을 감수하고 사용하는 건가요?
답변 1
2
Optional과 관련하여 정리된 블로그 링크를 남깁니다.
모든 getter에 Optional 남용은 자바측의 의도가 아니라고 하네요.
- 하지만 세상만사가 모두 개발자의 뜻대로 흘러가는것도 아니죠 (미소)
Optional 제대로 활용하기 - Increment (latera.kr)
0
spc_pok님
codesweaver님이 남겨주신 링크로 공부해보시면 오버해드보다 얻는 이점이 훨씬 더 많습니다.
사실 이정도 오버헤드는 전체 애플리케이션 관점에서 보면 백사장의 모래알 정도로 이해하시면 됩니다.
(암달의 법칙)
감사합니다.
..
0
79
2
Unused property.....
0
103
2
project JDK is misconfigured
0
135
2
외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석
0
83
2
단위/통합 테스트 버전충돌 문제
0
91
2
❗️springboot 4.0.2 버전 aspectj dependency 설정❗️
0
231
1
왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?
0
104
2
윈도우 build test오류 질문
1
103
2
테스트 관련 공부에 대한 조언을 얻고 싶습니다
0
102
2
테스트 실행 시 에러 질문
0
294
1
name을 통한 비교와 객체를 통한 비교
0
77
1
빌드 후 libs 없음
1
130
1
윈도우 gradlew.bat 에러
0
168
1
@PostMapping("/members/new")가 동작하지 않습니다
0
91
1
java static class와 kotlin class
0
79
1
스프링 DB연결
0
127
1
소요 시간
0
87
2
ddl.sql에 빨간 밑줄
1
102
2
welcome page 에러
0
184
3
잘 모르겠습니다.
0
164
2
fail을 똑같이 쳤는데 오류가 발생해요
0
158
2
index.html Welcome page
0
125
1
프로젝트 gradle-groovy ?
0
372
1
테스트코드 메서드명 한글
0
205
2





