강의

멘토링

로드맵

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

박은지님의 프로필 이미지
박은지

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

회원 등록 API

DTO inner class 사용 방식

해결된 질문

작성

·

2.7K

10

안녕하세요 영한님

기초적인 질문인 것 같지만 궁금한 점이 있어 질문 드립니다.

강의 내용 중 CreateMemberRequest/Response 를 이너 클래스로 사용하는 이유가 궁금합니다

Dto클래스를 별도(외부) 클래스로 사용하는 것만 익숙하여  이너 클래스로 DTO를 생성하는 별다른 이점이 있는 것인지 궁금하네요

재밌는 JPA 강의 정말 감사합니다 
좋은 하루 되세요

퀴즈

API 개발에서 JPA 엔티티 객체를 요청 파라미터나 응답 값으로 직접 사용하는 것을 지양해야 하는 주된 이유는 무엇일까요?

데이터베이스 성능이 저하되기 때문입니다.

API의 스펙이 엔티티의 변화에 직접적으로 영향을 받기 때문입니다.

클라이언트 측의 데이터 파싱 로직이 복잡해지기 때문입니다.

네트워크 전송량이 불필요하게 증가하기 때문입니다.

답변 2

27

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

안녕하세요. 박은지님^^

이너 클래스는 이너 클래스를 포함하는 클래스 안에서만 한정적으로 접근할 때만 사용합니다.

만약 여러 클래스에서 접근해야 하면 외부 클래스로 사용하는 것이 맞습니다^^

이너 클래스의 이점은 해당 클래스 안에서만 한정적으로 사용한다는 의미를 부여할 수 있고, 덕분에 개발자 입장에서 신경써야 하는 외부 클래스들이 줄어드는 효과가 있습니다. 또한 이너 클래스는 이너 클래스를 포함하는 클래스 안에서만 사용되므로, 개발자 입장에서 이너 클래스를 딱 봤을 때, 아! 이거는 이 안에서만 사용해야겠구나 하고, 생각의 범위를 줄일 수 있습니다.

응집력을 높이는 것과 비슷한 효과를 볼 수 있지요 ㅎㅎ

도움이 되셨길 바래요^^

2

박은지님의 프로필 이미지
박은지
질문자

친절한 답변 감사합니다!

박은지님의 프로필 이미지
박은지

작성한 질문수

질문하기