본문 바로가기
개발 관련 강의 정리/10분 테코톡

[10분 테코톡] 🎼라흐의 DTO vs VO 정리

by 코딩개발 2023. 7. 12.
728x90
반응형

DTO

- Data Transfer Object(데이터 전송 객체)

- 계층 간의 데이터 교환을 위해서 사용하는 객체

- 로직을 갖고 있지 않는 순수한 데이터 객체

- getter, setter 메서드만 존재

- 데이터를 전송할 때 사용되는 바구니


VO

1.  Value Object로 값 그 자체를 표현하는 객체
2. 서로 다른 이름을 가진 VO 인스턴스의 모든 속성값이 같다면 같은 객체이다.

ex) 컬러라는 VO가 있을때, 그 안에서 Red의 RGB값은 (255, 0, 0)이다.

      color1이 (255, 0, 0)이고 color2가 (255, 0, 0)일 때, 두 개는 같은 객체로 판단

3. 객체의 불변성 보장하며 로직 포함 가능

4. equals를 오버라이딩 하여 같은 값인지 비교할 수 있다.

    map 등에서 hashcode로 값을 찾을 때 사용하기 위해 hashcode를 오버라이딩 한다.

 

2번의 'VO가 모든 속성값이 같다면 같은 객체이다'의 전제조건은 equals와 hashcode를 오버라이딩 하는 것


참고

https://www.youtube.com/watch?v=J_Dr6R0Ov8E&ab_channel=%EC%9A%B0%EC%95%84%ED%95%9C%ED%85%8C%ED%81%AC 

728x90
반응형

댓글