프로그래밍/자바
[JAVA] DTO와 VO 의 차이
dandev
2022. 4. 6. 18:12
반응형
개발을 하던 도중
DTO와 VO의 차이에 대해 궁금해졌다.
🤔 우선 DTO란?
Data Transfer Object의 약자로
순수하게 데이터를 담아 계층 간으로 전달하는 객체이다.
로직 없이 순수하게 데이터만 전달하는 것으로써
getter/setter 메서드가 이에 해당한다.
🤔 VO란?
Value Object의 약자로
특정 값 자체를 표현하므로
불변성을 보장하기 위해 생성자를 사용하여야 한다.
VO는 값자체를 나타내므로 setter 같은
새로 값을 지정하는 메서드가 존재해선 안된다!
(왜냐? 불변성을 보장해야하기 때문)
좀 더 쉬운 말로
DTO는
데이터를 담아 계층 간으로 전달한다.
값을 가져오고 (get)
전달해 지정한다.(set)
그럼
VO는
특정 값 자체를 표현한다.
✔ VO와 DTO의 차이점?
VO와 DTO는 Data를 전달하는 객체로 동일한 개념이지만
VO는 값 그 자체이고,
DTO는 Data를 전달하는 것이다!!
그럼 오늘도 즐거운 개발하기를 바란다. 😊
반응형