DTO

    [Spring] DTO의 사용 범위

    DTO DTO(Data Transfer Object)란 계층간 데이터 교환을 위해 사용하는 객체다. MVC 패턴에서 컨트롤러가 뷰와 모델의 데이터를 주고 받을 때 보통 DTO를 사용한다. 도메인 객체(모델)을 뷰에 직접 전달할 수도 있지만, 뷰에 불필요한 민감한 도메인의 정보가 노출될 수도 있고, 도메인이 뷰에 의존하게 되는 경우도 있다. DTO의 범위 모델과 뷰 사이에 DTO를 사용한다는 것은 알겠는데, 일반적으로 사용하는 레이어드 아키텍처 (Controller - Service - Repository)에서 DTO는 어떻게 다뤄야 할까? 조금 더 간단하게 말하자면, 결국 뷰와 같은 화면과, 비즈니스 로직의 데이터 교환은 DTO를 통해 이루어지는데, 도메인 → DTO, DTO → 도메인을 변환하는 작업은..