Web
VO vs DTO
byeongoo
2021. 2. 9. 16:18
1. DTO(Data Transfer Object)
- 계층(Layer)간 데이터 교환을 위해 사용하는 객체
- 로직을 갖고 있지 않는순수한 데이터 객체이며, getter/setter 메서드만 갖는다. (생성자까지는 갖음)
2.. VO(Value Object)란?
- 데이터 그 자체로 의미 있는 것을 담고 있는 객체
- 서로 다른 이름을 가진 VO의 인스턴스가 모든 속성 값이 같다면 같은 객체(equals, hashcode 재정의)
- 객체의 불변성을 보장
- 로직 포함 가능
3. VO 사용이점
- VO사용시 데이터를 전달할 때 데이터가 변조되지 않음을 보장할 수 있음