강의

멘토링

커뮤니티

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

psvm님의 프로필 이미지
psvm

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

상품 등록

[Web 계층] DTO

작성

·

461

0

안녕하세요.

DTO 관려해서 질문 있습니다.

 Item 에 book,album,등등 상속되어 있는 상황에서 공통적으로 사용해야 할 필드가 이름,재고량,금액 이 있는데, Dto 에 공통적인 필드 또한 반복적으로 일일히 다 작성해야 하는것인지 궁금합니다.

SingleTable 전략처럼 Dto에 아이템에 관련된 필드들을 모두 넣었을 때는 유효성 검증이 제대로 이루어지지 안될 거라는 생각을 했습니다.

Dto 객체에는 일일히 다 필드를 다 적는 수밖에 없는것인지 궁금합니다.

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. psvm님

DTO도 상속을 사용하면 되지 않을까요^^?

psvm님의 프로필 이미지
psvm
질문자

상속 객체를 붙여서 DTO에 사용을 할지 고민이 되는게 있어 한 번 더 질문드리겠습니다.

상속을 이용해서 DTO에 상속을 받으면 DTO에는 필요하지 않는 부모 메소드 까지 부여 받는데 있어 객체를 생성하고 저장하는 것이 메모리 초기화에 걸리는 시간 측면에서 안좋지 않을까란 생각이 듭니다.

시간적인 측면을  고려해야 할 필요가 없는 것인지 궁금합니다.

그리고 abstract 메소드들은 필히 구현해하 하는데 빈 공간으로만 존재하고 DTO에서는 부모(추상x) 메서드를 쓸 일이 거의 없다고 생각합니다.DTO는 데이터를 전달하는 용도라고 생각해서 개인적으로 빼는게 맞다고 생각합니다. DTO 상속에 대한 정답은 사용하는 면에 따라 다양한 것인지 궁금합니다.

 

김영한님의 프로필 이미지
김영한
지식공유자

부모 DTO와 자식 DTO로 구분해서 사용하고, 당연히 공통 부분만 부모 DTO로 올려야 합니다.

그렇지 않다면 따로따로 사용하시면 됩니다.

메모리 초기화 같은 부분은 성능에 거의 영향이 없기 때문에 고민하지 않으셔도 됩니다^^

감사합니다.

psvm님의 프로필 이미지
psvm

작성한 질문수

질문하기