inflearn logo
강의

講義

知識共有

Spring Boot JUnit テスト - セキュリティを活用した Bank アプリケーション

会員登録サービスコードのリファクタリング

DTO를 이너클래스로 계속추가하는 이유

解決済みの質問

691

cristiano

投稿した質問数 24

0

bank.dto.user 패키지안에 req, resp 패키지를 만들어서 각각 DTO 클래스를 추가하는것과

선생님이 하신 UserReqDto , UserRespDto 에 이너클래스로 추가하는건 무슨차이가 있나요 ???

spring-boot junit 소프트웨어-테스트

回答 2

0

metacoding

자바 클래스로 DTO를 만들면 DTO파일이 너무 많이 늘어나서!! 관리를 용이하게 하고!

 

이름도

 

최근에는 이렇게 만듭니다. 가령 회원가입이라면

 

UserRequest 클래스 안에

JoinDTO static 이너 클래스를 만들어서

 

외부에서 사용할때는 UserRequest.JoinDTO 이렇게 사용하면 이름 짓기가 좋아서 저는 위와 같이 사용하고 있습니다.

 

패키지를 만들고, 파일을 생성하는 방법으로 하셔도 됩니다!! 차이라기 보다는 각 회사의 컨벤션이라고 이해해도 될것 같습니다. 스타일?

0

cristiano

아하.. 외부에서 사용할떄 UserRequest.JoinDTO 이렇게 보이는게 쫌 깔끔하지 않아보여서 찝찝했는데 실무에서는 회사 스타일에 따라서 하면 되겠군요 ! 감사합니다

0

communityai8509

안녕하세요 최재영 님, 인프런 AI 인턴이에요.

DTO를 이너클래스로 추가하는 방법과 외부 클래스로 추가하는 방법에는 몇 가지 차이가 있습니다. 일반적으로 DTO는 데이터 전달을 위한 객체로 사용되며, 이너클래스로 추가할 때와 외부 클래스로 추가할 때의 차이점은 다음과 같습니다.

  1. 코드 구조: 이너클래스로 추가할 경우, 상위 클래스에 종속되는 형태로 코드 구조가 구성됩니다. 이에 따라, 이너클래스에서는 상위 클래스의 멤버 변수와 메서드에 자유롭게 접근할 수 있습니다. 반면 외부 클래스로 추가할 경우, 별도의 클래스로 구성되기 때문에 독립적인 구조를 가집니다.

  2. 코드 가독성: 이너클래스로 추가할 경우, 관련된 클래스들이 하나의 파일에 모여 있기 때문에 코드 가독성이 향상될 수 있습니다. 하지만 이너클래스를 계속 추가하는 경우에는 클래스 파일이 점점 커질 수 있으므로, 파일의 크기나 복잡성에 주의해야 합니다. 외부 클래스로 추가할 경우에는 각각의 파일에 하나의 클래스가 있기 때문에 파일 단위로 관리할 수 있습니다.

  3. 재사용성: 이너클래스로 추가하는 경우, 해당 이너클래스는 상위 클래스에 종속되기 때문에 외부 클래스에서 재사용하기 어렵습니다. 외부 클래스로 추가하는 경우에는 별도의 클래스로 구성되기 때문에 다른 클래스에서도 쉽게 재사용할 수 있습니다.

따라서, DTO를 이너클래스로 추가하거나 외부 클래스로 추가하는 것은 개발자의 선택에 따라 다를 수 있습니다. 프로젝트의 구조와 요구사항에 맞게 적절한 방법을 선택하여 사용하시면 됩니다. 감사합니다!

요청/응답 DTO 관련 문의

0

170

2

안녕하세요 인증이 필요한 url을 위하여 /s를 붙이는것에 대해 질문있습니다.

0

159

1

validation aop사용에 대해서 질문있습니다.

0

245

2

Dummy 클래스 위치에 대한 질문

0

292

2

테스트 방식에 관해서 질문이 있어요

0

292

2

스프링 버전업일 경우에는 Pointcut @PostMapping 조건이 달라질까요?

1

433

1

equals와 longValue 관련 질문드립니다

0

327

1

계좌번호를 Long 타입으로 하는 이유가 무엇일까요?!

0

499

2

[정보공유] Hibernate 로그 작동 안하시는 분들!!

3

345

0

UserControllerTest 테스트 실패 문의

0

317

1

스프링 시큐리티 6.2 버전 이후로 apply() 메서드를 이용한 JwtAuthenticationFilter 가 등록이 안됩니다.

2

1105

1

import 오류

0

425

3

spring initializer gradle 에서 3.x.x 대 밖에 없어요. 2.x.x는 보이지 않는데 어떡하져

0

438

2

안녕하세요 로그엔 성공적으로 들어온것같습니다..

0

236

1

JwtAuthorizationfilter test mvc.performget 관련 질문입니다!

0

286

1

JwtAuthorizationfilter test mvc.performget 부

0

226

1

longValue() 질문

0

227

1

jwt 인가필터 규현및 등록

0

334

1

스프링부트 3버전

1

334

1

권한처리를 위한 세션강제주입

0

417

1

JwtVO 를 인터페이스로 만든 이유

0

357

1

계좌 조회 질문드립니다

0

227

1

DummyObject 에 대하여

0

306

2

Builder 사용 궁금

0

402

1