내부 클래스가 많은 경우의 Response에서 DTO클래스 생성에 관하여 질문드립니다.

미해결질문
Chung A 프로필

안녕하세요 강사님

강의 너무 잘 듣고 있습니다ㅎㅎ

강의 내용을 실무에 적용하다가 DTO클래스에 관하여 질문이 생겨 글을 남깁니다.

다름이 아니라 강의처럼 모든 요청마다 ResponseDTO를 따로 만들려고 하다보니 생긴 문제인데

 제 프로젝트의 경우, 한 엔티티가 연관관계를 가진 엔티티가 좀 많습니다.

그렇다보니 DTO를 반환할 때 내부 클래스들이 많아지는데

모든 내부 DTO클래스들을 적다 보니 너무 길어지는데요,

//어노테이션 생략
public static class DTO_A{
   ...변수 생략
   DTO_B b;
   
   public static class b{
       ...변수생략
       List<DTO_C> list;

       public static class DTO_C{
             //...변수 생략
             
       }
   }
}

 (예를 들면 이런식입니다.)

이런식으로 한 클래스 안에 속한 내부 클래스가 많아  DTO 내용이 너무 방대한 경우(각 변수들이 필요하다고 가정하고 )

코드 량이 너무 길어져서 작성 및 유지보수가 힘들것 같은데

이 경우에는 어떻게 하면 좋을지에 대한 강사님의 생각을 여쭤보고 싶어서 질문드립니다.

감사합니다! 

김영한 프로필
김영한 27일 전

안녕하세요. Chung A님^^ 좋은 질문입니다.

1. 꼭 내부 클래스로 유지하지 않아도 됩니다. 같은 패키지에 클래스를 꺼내두어도 됩니다.

2. 여러 조회 API를 제공해도, 변경 시점에 같이 변해야 하는 DTO는 같이 사용하면 됩니다.

3. 변경 시점에 함께 변하면 안되는 DTO는 모양이 똑같더라도, 별도의 클래스로 생성합니다.

중요한 것은 함께 변해야 하는 것은 같이 묶고, 함께 변하면 안되는 것은 아무리 코딩량이 많아져도 따로 만들어야 합니다. 이게 중요합니다^^!

감사합니다.

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스