DTO는 가변이고, VO는 불변이다.
DTO 는 인스턴스, VO는 리터럴 개념이다. 그래서 DTO는 setter가 있고, VO는 없다.
그래서 각 객체끼리 비교할 때 단순히 equals로 비교하면 DTO는 객체의 참조값(reference value) 을 비교하게 되고 VO는 객체에 포함 되어 있는 필드값 자체를 비교(equals를 오버라이딩) 해서 객체가 같은지 알 수 있다.
'난중(개발)일기 > 깨달음' 카테고리의 다른 글
Testcontainer 도입기 (0) | 2024.07.06 |
---|---|
클래스 구조 고민 - 소규모 기능별 세분화 인터페이스 (0) | 2024.07.06 |
API 설계를 하며 깨달은 점 (0) | 2023.01.16 |
Rest API에 대한 깨달음 (0) | 2023.01.07 |
Hexagonal architecture로 구조를 바꿔보며.. (0) | 2022.10.04 |