성장에 목마른 코린이

[Spring Boot] DTO (Data Transfer Object) 본문

Java/Spring Boot

[Spring Boot] DTO (Data Transfer Object)

성장하는 코린이 2022. 10. 21. 13:13
728x90

DTO란 계층간 데이터 교환을 위해 사용하는 객체 (Java Beans)입니다.

DTO 기법을 사용하면 중요한 정보를 노출시키지 않고 두 시스템(API와 서버 등) 간 통신을 원활하게 촉진할 수 있습니다.

 

Python, C++, Java 같은 객체 지향 프로그래밍(OOP) 언어 환경에서 DTO를 사용할 수 있습니다.

따라서 DTO는 개발과 업데이트가 용이합니다.

OOP 환경은 "호출" 시스템을 이용합니다. 각 시스템은 데이터 조회와 같아서 시간과 처리 속도가 필요합니다.

이때 주의를 기울이지 않으면 다음과 같이 숨기고 싶은 중요한 데이터가 호출로 인해 노출될 수 있습니다.

 

회사 출입 시 직원에게 이름과 사진을 요구할 수 있습니다.

이때 신원 확인을 위해 해당하는 데이터를 제공해야 합니다.

하지만 데이터베이스에 저장된 해당 직원의 다른 정보까지 제공할 필요는 없습니다.

DTO는 필요한 데이터만 전송할 수 있습니다.

 

DTO에는 비즈니스 로직이 아닌 데이터만 저장해야 합니다.

또한 용량이 작은 단순환 환경으로, 한 가지 작업만 수행하는 것이어야 합니다.

 

효과적인 DTO 사용 방법

- 상용구 코드를 최소화합니다. 코드를 일일이 새로 작성하기 때문입니다.

- 작성이 용이합니다. DTO는 작성이 어려울 정도로 복잡해서는 안 됩니다. 다만, 이러한 코드는 깨지기도 쉽습니다.

- 읽을 수 있어야 합니다. 누구든지 코드 구문을 분석할 수 있어야 합니다.

Comments