DTO (Data Transfer Object) VS VO(Value Object)

devH·2023년 4월 26일
0
post-thumbnail

1. DTO (Data Transfer Object)

DTO는 계층간 데이터를 전달하기 위한 객체이다. 단순히 데이터를 주고받거나 전환하는 용도로 사용하기 때문에 로직을 갖지 않고 Getter/Setter 메소드만 갖는다.
👉 데이터를 옮기는 바구니

2. VO(Value Object)

VO는 도메인에서 한 개 또는 그 이상의 속성들을 묶어서 특정 값을 나타내는 객체이다. 로직을 포함할 수 있으며, 불변성의 보장을 위해 생성자를 사용하여야 한다.
👉 값 그 자체

3. 정리

DTOVO
목적계층간 데이터 전송/전달값 자체를 표현
동등성필드값이 같아도 다른 객체필드값이 같으면 같은 객체
가변성Setter 존재시 가변, 비 존재시 불가변불변
로직Getter/Setter 메소드만 가짐Getter/Setter외에 메소드를 가질수 있음
/ 값 초기화는 생성자를 통해서만 가능하다.
profile
'잘'살고 싶은 보통사람

0개의 댓글