Spring을 사용하면서 DTO를 자주 접했지만, DTO에 대해 깊게 알아본 적이 없어 이번 기회를 통해 학습하게 되었습니다.
DTO란 Data Transfer Object의 약어로, 계층간 데이터 전송을 위해 사용되는 객체입니다. 여기서 제가 생각한 가장 중요한 포인트는 다른 비즈니스 로직이 포함되어있지 않고, 데이터 전송과 관련된 로직(직렬화, 역직렬화...)만 가능하다는 것입니다.
효율적인 데이터 전송 : 클라이언트에 필요한 데이터만 전송하기에 불필요한 데이터를 전송하는 오버헤드를 줄이고 데이터 전송시간 또한 줄일 수 있습니다.
데이터 캡슐화와 보안 : DTO를 통해서만 데이터를 전송하기 때문에 비즈니스 로직과 도메인을 외부에 노출하지 않으므로 보안 측면에서 이점이 있습니다.
버전 관리 및 호환성: DTO를 사용하면 API 버전 업데이트 및 변경에 유연하게 대응할 수 있습니다. DTO를 통해 데이터의 구조와 필드를 관리하고, 필요한 경우 새로운 필드를 추가하거나 기존 필드를 수정하여 호환성을 유지할 수 있습니다.
피드백 및 개선점은 댓글을 통해 알려주세요😊