DTO와 VO의 차이

leverest96·2023년 4월 17일
0

Spring / Java

목록 보기
14/20
post-thumbnail

DTO

  • 계층(layer)간 데이터 교환을 위해 사용하는 객체
  • 속성값이 모두 같아도 같은 객체가 아닐 수 있다.
  • 데이터 교환만을 위해 사용하므로 로직을 갖지 않고, getter / setter 메서드만 갖는다.

VO

  • 값 그 자체를 표현하는 객체
  • 로직을 포함할 수 있으며, 객체의 불변성(객체의 정보가 변경되지 않음)을 보장
    • setter 사용 불가
  • 속성값이 모두 같으면 같은 객체
    • 따라서 VO에는 equals / hashCode를 오버라이딩해야한다.
      • @EqualsAndHashCode를 사용하자.

추가

  • Entity : 실제 DB의 테이블과 매핑되는 객체

https://www.youtube.com/watch?v=J_Dr6R0Ov8E
https://dkswnkk.tistory.com/500

profile
응애 난 애기 개발자

0개의 댓글