인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

Getter 없이 객체의 값을 출력하는 방법

작성

·

744

·

수정됨

0

객체 지향을 공부하다 getter/setter는 은닉성을 위해 지양하는게 좋다라는 글을 봤는데요..

toString()을 오버라이딩 하는 것이 맞지 않나 생각했는데 toString()은 출력을 위한 메소드가 아니라 디버깅을 위한 메소드기 때문에 디버깅을 할 때만 사용하는 것이 좋다라는 말들이 있어서요 ..

그러면 이럴 경우에는 DTO를 사용하는 것이 최선인가요?

또한 getter가 없다면 dto에 어떻게 정보를 담아 View, Controller의 계층을 이동할 수 있는 건가요??

답변 1

1

안녕하세요. hjemsti님, 공식 서포터즈 David입니다.

반드시 사용하지 않아야 하는 건 아닙니다.

필요하다면 사용하셔도 됩니다.

https://www.inflearn.com/questions/205608/jpa-entity-getter-%EB%AC%B8%EC%A0%9C-%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4

 

DTO와 Entity를 동일한 패키지에 둔 뒤, Entity 필드의 접근제어자를 package-private으로 변경하고 DTO 생성자에서 Entity를 사용하게 되면 필드 값을 바로 가져올 순 있지만 권장하는 방법은 아닙니다.

감사합니다.

Getter 사용을 지양하려고 한다면 getter 없이 출력하는 방법 중 현업에서 가장 많이 사용하는 것은 무엇인가요?

가장 많이 사용하는 게 뭔지 모르겠네요.

다만, getter를 열어두지 않고 가져오려면 리플렉션을 사용하는 방법도 있습니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기