데이터 전송 객체

위키백과, 우리 모두의 백과사전.

데이터 전송 객체(data transfer object, DTO[1][2])는 프로세스 간에 데이터를 전달하는 객체이다. 프로세스 간 통신이 일반적으로 원격 인터페이스(예: 웹 서비스)로 재정렬하면서 이루어지게 되는데 여기에서 각 호출의 비용이 많다는 점을 동기로 하여 이용하게 된다.[2] 각 호출의 비용이 큰 것이 클라이언트와 서버 간 왕복 시간과 관련되기 때문에 호출의 수를 줄이기 위해 여러 호출에 의해 전송되는 데이터를 축적하면서 오직 하나의 호출만으로 서비스되는 객체인 DTO를 사용하는 것이다.[2]

데이터 전송 객체와 비즈니스 객체, 데이터 접근 객체 간 차이는 DTO의 경우 스토리지, 그리고 자체 데이터(뮤테이터접근자)의 조회를 제외하고 어떠한 동작도 하지 않는다는 점이다. DTO는 테스트에 필요한 어떠한 비즈니스 로직도 포함하지 않아도 되는 단순한 객체이다.[1] 다시 말해 DTO는 비즈니스 로직을 포함할 필요가 없는 단순한 객체이지만 유선상 데이터 전송을 위해 직렬화와 역직렬화 매커니즘을 포함할 수 있다.

용어[편집]

값 객체(value object)는 DTO가 아니다. 두 용어는 과거에 자바 개발자들에 의해 병합되고 있다.[2]

각주[편집]

  1. MSDN (2010). Data Transfer Object. Microsoft MSDN Library. Retrieved from https://msdn.microsoft.com/en-us/library/ms978717.aspx.
  2. Fowler, Martin (2010). Data Transfer Object. Patterns of Enterprise Application Architecture. Retrieved from http://martinfowler.com/eaaCatalog/dataTransferObject.html Archived 2017년 7월 7일 - 웨이백 머신.

외부 링크[편집]