게시글
질문&답변
2020.11.16
Entity Optional 반환 값에 대한 질문(왜 optional로 하는게 좋을까요?)
말씀주신 책도 꼭 읽어볼게요. 고맙습니다.
- 2
- 4
- 1.3K
질문&답변
2020.11.16
Entity Optional 반환 값에 대한 질문(왜 optional로 하는게 좋을까요?)
먼저, 바쁘신데, 빠른 답변 고맙습니다! 자원비가 생각보다 미미하다는 점이 포인트네요..! 그리고, NullpointerException 이 터질 때 Error Trace를 찾기 힘들다는 점도 있겠고요. 아래는 제가 추가로 정리했던거 여기에 공유드리는 내용입니다.(다른 수강생들도 보시면 도움이 될듯합니다.) Java의 optional이란? 기존의 반환 값 타입 T에 Optional를 Wrapping 하여, null 대신 Optional 안에 빈 타입 객체를 돌려주는 기법이다. Optional 은 반환값이 없을 수도 있다고 미리 가정하고, 이 반환값을 통제하기 위해 사용함. 그럼 걍 null을 뱉을 수도 있지않나? 반환값으로 null 을 return 받는 경우, 추후 null을 반환해준 라인과는 상관없는 코드에서 null pointer Exception이 터질 수 있어서 트래킹이 어렵다. 즉, 예외 발생 시 예외 스택 전체를 캡쳐하는 비용을 아낄 수 있음 Optional 안에 빈 타입 객체가 들어 있는 경우, Optional에서 정의된 method 등을 이용하여, 좀 더 유연한 핸들링이 가능함 null대신 optional로 반환한다면, optional 언제 Optional을 사용하는게 좋을까? 값을 반환하지 못할 가능성이 있고, 호출할 때마다 반환값이 없을 가능성을 염두에 둬야 하는 메서드라면 옵셔널 반환을 고려할 수 있음 즉, 반환 값이 없을 수 있고, 클라이언트가 이 상황을 특별하게 처리해야할 경우 Optional 로 반환하는게 좋다. 그리고 optional로 Wrapping하는 비용은 그리 크지 않음...! Optional로 당연히 해서는 안될 것 Optional 을 반환하는 메서드에서는 절대 null을 뱉게 하면 안됨(null 뱉으면 optional Wrapping의미가 없으므로..)
- 2
- 4
- 1.3K
질문&답변
2020.11.13
db에 날리는 쿼리는 최대한 간단하게 하라는 의미
바쁘신 와중에도 답변 정말 고맙습니다. 집계성 쿼리가 전송하는 데이터를 크게 줄여준다는 부분은 제가 좀 더 찾아보면서 공부해볼게요.
- 2
- 3
- 893