DTO (Data Transfer Object)
계층간 데이터를 교환하기 위한 객체이다.
DB에서 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체를 말한다.
위와 같이 DTO에 존재하는 속성들을 구조분해할당으로 가져옴으로써 하나의 수정사항을 고치기 위해서 모든 파일을 건드리지 않아도 된다는 장점이 존재하는 것이다.
DTO는 왜 쓰는데 ?
다시금 DTO를 사용하는 이유는 간단한 서비스를 만들 때는 몇 개의 속성들만 불러오고 몇 군데에서 불러오면 되지만, 서비스의 크기가 커지고 이에 해당하는 속성들을 갖고 있을 때, 한 곳에서 속성의 이름을 변경해야할 때, 해당 속성이 존재하는 모든 곳에서 똑같이 수정을 해주어야 한다. 이렇게 되었을 때 서비스를 유지보수하기 힘들다.
따라서 DTO를 사용해서 해당 문제를 사용할 수 있다.