프레임워크/Spring
VO / DTO / Entity
코드몬스터
2023. 4. 9. 23:54
728x90
내용이 틀릴 수 있기 때문에 경계하며 읽어주셨으면 좋겠습니다.
블로그 글을 보면 vo, entity, dto에서 더 나아가면 도메인 설계에 대해서도 언급이 된다고하는데 아직 어떻게 연관이 있는지 잘 모르겠다.
추후 이해가 된다면 해당 글을 수정할 수 있도록 하겠다.
VO(Value Object)
메모리 주소가 다르지만(?) 해당 객체의 값이 같다면 같은 객체로 취급한다.
이를 위해서 eqauls와 hashmethod를 재정의하는 것 같다...!(아닐 수도 있다.)
그리고 값을 변경(setter)하면 안된다. 따로 메소드(로직)을 가져된다,
DTO(Data Transfer Object)
계층 간의 데이터를 전송하는 객체라고 생각한다.
따라서, setter를 사용해도 괜찮지만 따로 메소드(로직)을 가져서는 안된다.!
Entity
VO/DTO는 화면 단의 값을 표현하기위한 것이고 Entity는 DB table의 값과 연동하기 위한 객체이다.
참고사이트
https://tecoble.techcourse.co.kr/post/2020-06-11-value-object/