inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

7강. 유저 생성 API 개발

7강 패키지 관련

79

성장하자

작성한 질문수 9

0

혹시 패키지를 dto랑 controller랑 나누는 이유가 뭔가요?

 

java spring aws mysql spring-boot jpa

답변 2

0

최태현

안녕하세요 성장하자님! 🙂 좋은 질문 감사합니다.

추후 DTO와 controller가 늘어나는 것을 대비하기 위해서 DTO는 여기 있어~ Controller는 여기 있어 라는 일정한 구역을 나눠두기 위함입니다.

이 구역을 나누는 스타일도 여러 가지가 있는데, 강의에서는 그 중 1개인

  • DTO

    • 유저 관련

    • 책 관련

  • Controller

    • 유저 관련

    • 책 관련

과 같은 스타일을 보여 드렸어요!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 성장하자님!

DTO와 Controller를 각각 다른 패키지로 나누는 이유는 주로 코드의 유지보수성과 가독성을 높이기 위함입니다.

  • DTO (Data Transfer Object)는 애플리케이션 계층 간 데이터를 운반하는 객체로, 주로 데이터의 구조를 정의합니다. 데이터의 표현에 집중하기 때문에, 도메인 모델과 분리하여 관리함으로써 데이터 전송에 대한 변화를 도메인 로직과 분리할 수 있습니다.

  • Controller는 사용자로부터 들어온 요청을 처리하고 적절한 서비스를 호출해 응답을 반환하는 역할을 합니다. 비즈니스 로직과 사용자 인터페이스 사이를 중재하는 역할을 맡기 때문에 가독성과 관련 코드의 모듈성을 위해 별도의 패키지로 구분합니다.

이러한 패키지 구분은 코드의 모듈화를 통해 각자의 역할에 따라 코드를 쉽게 이해하고, 변경 사항이 있을 때 해당 부분만 집중적으로 수정할 수 있게 해줍니다.

이와 관련된 질문을 이미 다룬 기존 게시글이 있어, 참고하시면 더 상세한 이해에 도움이 될 것 같습니다:
- DTO와 도메인을 나누는 이유와 방법
- 패키지 구조와 유지보수성

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

패키지 구분에 대해 궁금한게 있습니다

0

28

2

리액트 관련 질문이 있습니다.

0

67

2

스프링부트 버전

0

81

2

7강 강의를 들으려고 했는데 오류가 나서 서버가 안 켜지는거 같아요.

0

63

2

33강. UserLoanHistory의 관계성에 대한 질문

1

57

2

Java JDK 버전 문의의 건

0

141

2

ec2 에서 Linux버전이 달라져서 설치가 안되는것 같은데 자료 최신화좀 해주세요.

0

91

3

h2 console 접속했을 테이블 질문

1

70

1

ec2 서버에서 스프링 실행도 되고 인바운드 설정까지 했는데 index.html 안됨

0

83

2

15강. updateUser() 질문

0

57

2

깃허브 질

0

90

2

여기까지 다 끝냈다고 하셨는데

0

83

2

왜안될까요

0

72

2

MySQL 창이안ㄴ뜹니다

0

59

2

포스트맨

0

55

1

spring 개념적인 질문

0

73

2

인텔리제이 샘플코드 실행 안됨 오류

0

149

2

aws 배포할때 .env 파일에 저장한 환경변수에 관하여 여쭤볼게 있습니다

0

90

1

마이그레이션 오류입니다.

0

179

3

Whitelabel Error Page 오류가 났습니다.

0

178

2

안녕하십니까! 오류가 났습니다.. 도와주세요 ㅜㅜ

1

98

3

궁금한게 있습니다.

0

64

2

DTO 관련

0

72

2

궁금한게 있습니다!

0

73

2