반응형
DTO란?
- DTO(Data Transfer Object) 는 계층간 데이터 교환을 위한 자바빈즈를 의미합니다. 여기서 말하는 계층간의 의미는 Controller, View, Business Layer, Persistent Layer 등을 말하며 각 계층간 데이터 교환을 위한 객체를 의미한다. DTO는 로직을 가지지 않는 순수한 데이터 객체이고 getter, setter 메소드만 가진 클래스를 의미한다.
VO란?
- VO(Value Object) 는 DTO와 혼용해서 쓰이긴 하지만 미묘한 차이가 있다. VO는 값 오브젝트로써 값을 위해 쓰인다. 자바는 값 타입을 표현하기 위해 불변 클래스를 만들어서 사용하는데, 불변이라는 것은 readOnly 특징을 가진다.이러한 클래스는 중간에 값을 바꿀 수 없고 새로 만들어야 한다는 특징이 있다. 예를들어 Color클래스를 보면 Red를 표현하기 위해 Color.RED 등을 사용하며 getter기능만이 존재한다.
결론
- DTO와 VO의 공통점은 넣어진 데이터를 getter를 통해 사용하므로 주 목적은 같다. 그러나 DTO의 경우는 가변의 성격을 가진 클래스 이다(setter 활용). 그에반해 VO는 불변의 성격을 가졌기에 차이점이 있다.
반응형
'Java' 카테고리의 다른 글
[JAVA] Spring Annotation @MapperScan이란? (0) | 2022.08.17 |
---|---|
[JAVA]Spring Boot 압축 파일 다운받기(Spring boot zip file download) (0) | 2022.05.09 |
[JAVA] Primitive type(기본 타입) VS Reference type(참조 타입) (0) | 2022.04.11 |
[JAVA] @ReqeustBody와 @ResponseBody 란? (0) | 2022.02.12 |
[JAVA]Mapper vs DAO (0) | 2022.02.08 |