공통점
1) 동일하게 데이터를 저장하여 사용할 때 필요하다.
Vo (Value Object)
- 데이터 그 자체로 의미 있는 것을 담고 있다.
- Read-Only 속성의 객체이다.
- 간단한 독립체(Entity)를 의미하는 작은 객체이다.
- 관계데이터베이스의 레코드에 대응하는 자바 클래스이다.
DTO (Data Transfer Object)
- 전송되는 데이터를 담고 있는 컨테이너이다.
- DTO의 경우 같은 시스템이 아닌 다른 시스템으로 전달하여 작업을 처리하는 객체이다.
- 레이어간의 통신 용도로 오가는 객체를 의미하기도 한다.
- 현재의 개발환경에서 데이터는 다음과 같은 흐름으로 이동한다.
▲ 서버: Database Column Data - DTO - API(JSON or XML) -> Client
▲ 클라이언트: Server - API(JSON or XML) - DTO - View or Local Database System
VO : 사용되는 값 자체가 객체로 표현되며 값의 변견이 없다.
DTO: 데이터의 전송을 위한 객체이며 비지니스 로직까지 담아서 사용한다.
개발을 공부하면서 강사에 따라 DTO로 사용하기도, VO 로 사용하기도 하였다.
특별하게 나눠져있는 부분이 아니라 말 그대로 취향대로 사용되는 것 같은데, 아마 실무에서는 팀에 따라 정해져있는 방식이 있겠지 싶다.
어떤 차이점이 있는지 짚고 넘어가는게 좋을 것 같아 정리해보았다.
'웹개발' 카테고리의 다른 글
스터디 : node JS 기초 (0) | 2020.12.22 |
---|---|
스프링 웹개발 용어정리:: Spring Interceptor (0) | 2020.10.24 |
스프링 웹개발 용어정리:: Web Service? (0) | 2020.10.06 |
스프링 웹개발 용어정리:: DAO 란? (0) | 2020.09.28 |
스프링 웹개발 용어정리:: Mybatis 용어 정리 (0) | 2020.09.27 |