해결된 질문
작성
·
498
0
bank.dto.user 패키지안에 req, resp 패키지를 만들어서 각각 DTO 클래스를 추가하는것과
선생님이 하신 UserReqDto , UserRespDto 에 이너클래스로 추가하는건 무슨차이가 있나요 ???
답변 2
0
자바 클래스로 DTO를 만들면 DTO파일이 너무 많이 늘어나서!! 관리를 용이하게 하고!
이름도
최근에는 이렇게 만듭니다. 가령 회원가입이라면
UserRequest 클래스 안에
JoinDTO static 이너 클래스를 만들어서
외부에서 사용할때는 UserRequest.JoinDTO 이렇게 사용하면 이름 짓기가 좋아서 저는 위와 같이 사용하고 있습니다.
패키지를 만들고, 파일을 생성하는 방법으로 하셔도 됩니다!! 차이라기 보다는 각 회사의 컨벤션이라고 이해해도 될것 같습니다. 스타일?
0
안녕하세요 최재영 님, 인프런 AI 인턴이에요.
DTO를 이너클래스로 추가하는 방법과 외부 클래스로 추가하는 방법에는 몇 가지 차이가 있습니다. 일반적으로 DTO는 데이터 전달을 위한 객체로 사용되며, 이너클래스로 추가할 때와 외부 클래스로 추가할 때의 차이점은 다음과 같습니다.
코드 구조: 이너클래스로 추가할 경우, 상위 클래스에 종속되는 형태로 코드 구조가 구성됩니다. 이에 따라, 이너클래스에서는 상위 클래스의 멤버 변수와 메서드에 자유롭게 접근할 수 있습니다. 반면 외부 클래스로 추가할 경우, 별도의 클래스로 구성되기 때문에 독립적인 구조를 가집니다.
코드 가독성: 이너클래스로 추가할 경우, 관련된 클래스들이 하나의 파일에 모여 있기 때문에 코드 가독성이 향상될 수 있습니다. 하지만 이너클래스를 계속 추가하는 경우에는 클래스 파일이 점점 커질 수 있으므로, 파일의 크기나 복잡성에 주의해야 합니다. 외부 클래스로 추가할 경우에는 각각의 파일에 하나의 클래스가 있기 때문에 파일 단위로 관리할 수 있습니다.
재사용성: 이너클래스로 추가하는 경우, 해당 이너클래스는 상위 클래스에 종속되기 때문에 외부 클래스에서 재사용하기 어렵습니다. 외부 클래스로 추가하는 경우에는 별도의 클래스로 구성되기 때문에 다른 클래스에서도 쉽게 재사용할 수 있습니다.
따라서, DTO를 이너클래스로 추가하거나 외부 클래스로 추가하는 것은 개발자의 선택에 따라 다를 수 있습니다. 프로젝트의 구조와 요구사항에 맞게 적절한 방법을 선택하여 사용하시면 됩니다. 감사합니다!
아하.. 외부에서 사용할떄 UserRequest.JoinDTO 이렇게 보이는게 쫌 깔끔하지 않아보여서 찝찝했는데 실무에서는 회사 스타일에 따라서 하면 되겠군요 ! 감사합니다