• DTO


 - 정의
  • Data Transfer Object
  • 레이어 간 데이터를 전달하는 객체
    ex) OMR 카드

 - 특징
  • 데이터 접근 메서드 외에 기능을 가지지 않음
    - 정렬, 직렬화 등 데이터 표현을 위한 기능은 가질 수 있음
  • 데이터의 캡슐화를 통해 유연한 대응이 가능함
    - 데이터 요청 수 감소 효과

• VO


 - 정의
  • Value Object
  • 값을 가지는 객체
    ex) MONEY

 - 특징
  • 값 자체로 의미를 가지는 객체
  • 변하지 않는 값을 가지는 객체
    - 값이 변하지 않음을 보장하여 코드의 안정성과 생산성을 높임
  • 값이 같다면 동일한 객체
    - 각 개체를 비교하는 데 사용되는 ID가 없음
    - 같은 객체인지 판단하기 위해 각 속성들의 값을 비교함

• 공통점


  • 레이어 간 데이터를 전달할 때 사용 가능
    - VO는 불변을 보장하기 때문에 데이터 전달 용도로 사용 가능

• 차이점


DTO VO
- 값이 변할 수 있음
- 레이어와 레이어 사이에서 사용
- DTO dto1(1) != DTO dto2(1)
- 데이터 접근 이외의 기능을 가지지 않음
- 값이 변하지 않음
- 모든 레이어에서 사용 가능
- VO vo1(1) == VO vo2(1)
- 특정한 비즈니스 로직을 가질 수 있음


출처 : 우아한Tech(10분 테코톡)

댓글남기기