작성
·
16
답변 2
0
안녕하세요! eovnfjfpa님~ 🙂 크~ 많이 물어보시는 질문인데요!
살짝 복잡한 내용일 수 있지만, 스프링은 들어오는 문자열 (HTTP Body에 들어 있는 json 이죠!) 을 객체로 변환하는 과정에서 객체의 생성자를 필요로 합니다!
그리고 어떤 생성자가 필요한지는 스프링 버전에 따라, 객체 필드 수에 따라 조금씩 다르더라고요... 😅
때문에 개인적으로는 기본 생성자 (= 아무것도 받지 않는 생성자) 를 항상 넣어주는 편입니다. lombok을 사용할 경우 @NoArgsConstructor
를 항상 붙이는 것이죠~
자바 17이 넘어가게 되면서는 record class가 등장해 record 클래스를 사용하면 조금 더 쉽게 대응이 되는 편입니다. 또 궁금한 점 생기시면 언제든 편하게 질문 주세요~ 감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. eovnfjfpa님.
DTO(Data Transfer Object) 클래스를 설계할 때 생성자를 사용하는 방법에 대해 질문 주셨군요. 이는 스프링과 같은 프레임워크에서 객체를 생성하고 관리하는 방식과 관련이 있습니다.
빈 생성자(no-args constructor):
매개변수 있는 생성자:
리플렉션 사용:
따라서, DTO 클래스 설계 시에는 빈 생성자를 명시적으로 제공해주면 예기치 않은 오류를 피할 수 있습니다. 관련해서 많은 개발자들이 기본 생성자를 추가하는 것을 권장하고 있습니다.
더 상세한 예시나 설명을 원하신다면, 아래와 같은 유사한 질문들을 참조하실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.