[Spring] DTO

Geun Bo Kim·2023년 4월 17일
0

Spring

목록 보기
1/1
post-thumbnail

CRUD를 작성하는 강의를 들으면서 DTO가 정확히 어떤 역할을 하는지
제대로 짚고 넘어가야겠다는 생각이 들어 DTO에 대해 정리하게 되었다.

DTO란?

DTO란 (Data Transfer Object)의 약자로, 계층 간 데이터 전송을 위해 도메인 모델 대신 사용되는 객체이다.
이때, 계층이란 Presentation(View, Controller), Business(Service), Persistence(DAO, Repository) 등을 의미한다.

DTO는 순수하게 데이터를 저장하고, 데이터에 대한 getter, setter 만을 가져야한다고 한다.
DTO는 어떠한 비즈니스 로직을 가져서는 안되며, 오로지 데이터 전송과 관련된 정보 (저장, 검색, 직렬화, 역직렬화) 로직만을 포함해야 한다고 한다.

- DTO 사용

DTO는 보통 데이터 전송에 사용된다고 한다.
예를 들면, 애플리케이션에서 클라이언트 측에서 전송되는 데이터를 처리하고,
서버 측에서 데이터를 저장하거나 다른 서비스로 전송하기 위해 사용된다.
또한, DTO는 데이터베이스나 외부 시스템과의 상호작용에도 사용된다.
데이터베이스에서 검색된 결과를 DTO로 매핑하여, 다른 애플리케이션 컴포넌트로 전송하거나 출력하기도 한다.

- DTO를 사용하는 이유는?

1.데이터 전송의 효율성: DTO는 데이터 전송을 위한 최적화된 구조를 갖고 있습니다. 따라서, DTO를 사용하면 데이터 전송이 더욱 효율적이고 빠르게 이루어집니다.

2.불필요한 정보의 제거: DTO는 오직 데이터 전송을 위한 정보만을 포함하고 있기 때문에, 불필요한 정보나 데이터를 제거할 수 있습니다. 이는 데이터 전송의 효율성을 높여줍니다.

3.유지보수성의 향상: DTO는 비즈니스 로직을 포함하고 있지 않기 때문에, 애플리케이션의 유지보수성을 향상시킵니다. DTO를 사용함으로써, 비즈니스 로직이 변경되더라도 DTO 객체는 영향을 받지 않기 때문입니다.

4.재사용성의 증가: DTO는 여러 개의 애플리케이션 컴포넌트에서 사용될 수 있기 때문에, 재사용성이 높습니다. 따라서, DTO를 사용하면 애플리케이션의 코드를 간소화하고, 코드의 재사용성을 증가시킬 수 있습니다.

정리:

DTO는 데이터 전송에 최적화된 객체이기 때문에, 데이터 전송에 사용되는 모든 애플리케이션에서 활용된다.
따라서, 애플리케이션에서 데이터 전송이 필요한 경우에는 DTO를 사용하는 것이 좋다!

profile
미래는 개발이다

0개의 댓글