1. VO 개요
- 불변(Immutable)을 지향하고, 동등성(equality)을 값으로 비교하여 판단
- 예) “이메일 주소”, “통화(화폐)”처럼 그 자체가 논리적으로 하나의 값(Value)을 나타내는 개념
- *DDD(Domain-Driven Design)**에서 자주 등장하며, 비즈니스 로직 내에서 사용될 수 있는 순수한 값 객체
2. VO와 DTO/Entity의 차이점
VO (Value Object)
- 불변(Immutable)을 지향하고, 동등성(equality)을 값으로 비교하여 판단
- 예) “이메일 주소”, “통화(화폐)”처럼 그 자체가 논리적으로 하나의 값(Value)을 나타내는 개념
- *DDD(Domain-Driven Design)**에서 자주 등장하며, 비즈니스 로직 내에서 사용될 수 있는 순수한 값 객체
DTO (Data Transfer Object)
- 계층 간 (Controller → Service → Repository) 데이터를 전달하기 위해 사용되는 객체
- 요청/응답 바인딩 시 유효성 검증(Validation) 등을 처리하기 위한 구조체 느낌
- Nest.js에서 class-validator, class-transformer 등을 자주 활용
Entity