Java
VO vs DTO
dev_SiWoo
2022. 1. 7. 17:22
VO(Value Object)
- 데이터 그 자체로 의미 있는 것을 담고 있는 객체이다.
DTO(Data Transfer Object)
- 전송되는 데이터의 컨테이너
DTO도 VO와 동일하게 데이터를 저장하여 사용한다. 다만 VO와 비교해서 다른 것은
DTO는 같은 시스템에서 사용되는 것이 아닌 다른 시스템으로 전달하는 작업을 처리하는 객체일 때 DTO라고 한다.
VO/DTO에 대한 논쟁도 많고 반드시 사용 용도를 구분하는 건 무의미하다고 하니 개발팀내에서 용도를 정해서
사용하면 된다고 한다.
예를 들어 외부시스템과 데이터 통신을 할 경우에는 DTO로, DB에서 가져오는 Data는 VO로 정의해서 사용한다고
약속을 하는 식으로 말이다.