KSCOLD LogoKSCOLD
Blog
Feed
Product
Admin Night
Vault
Guestbook
Info

Vault 목록

DTO(Data Transfer Object)

연결된 노트와 함께 읽기

DTO(Data Transfer Object)

2026년 5월 17일
  • DTO는 데이터 전송 객체(Data Transfer Object)의 약자로, 클라이언트에서 서버로 전달되는 데이터의 형식을 지정하는 역할을 한다.

  • 서버 측에서 요청을 처리하기 전에 데이터의 유효성을 검사하고, 해당 데이터를 가공하고, 데이터베이스(DataBase)와 통신하기 전에 데이터를 변환하는 등의 역할을 수행한다.

  • NestJS에서는 이러한 DTO를 쉽게 작성할 수 있는 클래스(class) 형태로 제공하며, class-validator와 같은 라이브러리를 사용하여 데이터 유효성 검사를 지원한다.

  • DTO도 extends를 사용하여 겹치는 속성(Property)의 경우 상속(Inheritance)받을 수 있다.

DTO의 사용 이유

  • NestJS에서 모델(Model)을 정의하기 위한 속성(Property)들을 여러 곳에서 상용한다.

  • 간단한 어플리케이션을 만들 때, 모델(Model)의 속성(Property)을 수정하게 될 시에 직접 수정을 하면 되지만, 정말 많은 모델(Model)의 속성(Property)을 가지고 있다면 유지보수하기 쉽지 않다.

  • 이런한 경우에 DTO(Data Transfer Object)를 사용하여 유지보수하기 편하게 만들 수 있다.

  • 또한 DTO를 사용하면 Swagger 같은 api 문서화를 하기 쉽다.

Synapse Map Insight