데이터 전송 객체(DTO)란 프로세스 사이에서 데이터를 전송하는 객체를 말합니다. DTO 기법을 사용하면 중요한 정보를 노출시키지 않고 두 시스템(API와 서버 등) 간 통신을 원활하게 촉진할 수 있습니다.
DTO는 프로그래밍 직업을 가진 사람들이 흔히 사용하는 솔루션입니다. 개발자분들이라면 이러한 솔루션과 원리에 대해 아마 알고 계실 것입니다. 하지만 일반 사용자에게는 DTO가 아주 아리송하게 느껴질 것입니다.
따라서 지금부터 DTO를 최대한 알기 쉽게 설명하겠습니다. 다만 원리를 설명하려면 약간의 기술적인 내용도 필요할 수 있다는 점을 말씀드립니다.
DTO란 무엇인가요?
앞서 말했지만 DTO는 데이터 전송 객체입니다. 이름에서 알 수 있듯이 DTO는 데이터 전송을 위해 생성되는 객체를 말합니다.
Python, C++, Java 같은 객체 지향 프로그래밍(OOP) 언어 환경에서 DTO를 사용할 수 있습니다. 따라서 DTO는 개발과 업데이트가 용이합니다.
OOP 환경은 "호출" 시스템을 이용합니다. 각 시스템은 데이터 조회와 같아서 시간과 처리 속도가 필요합니다. 이때 주의를 기울이지 않으면 다음과 같이 숨기고 싶은 중요한 데이터가 호출로 인해 노출될 수 있습니다.
- 직원 주소
- 계정 번호
- 주민등록번호
- 기업 로그인 정보
어느 프로그래머도 얘기했지만 회사 출입 시 직원에게 이름과 사진을 요구할 수 있습니다. 이때 신원 확인을 위해 해당하는 데이터를 제공해야 합니다. 하지만 데이터베이스에 저장된 해당 직원의 다른 정보까지 제공할 필요는 없습니다. DTO는 필요한 데이터만 전송할 수 있습니다.