DTO(Date Transfer Object)
- 레이어 간 데이터를 전달하는 객체
- 데이터 접근 메서드 외에 기능을 가지지 않음(setter, getter 로만 구성) + 정렬, 직렬화 등 데이터 표현을 위한 기능은 가질수 있음
- 데이터의 캡슐화를 통해 유연한 대응이 가능함 + 데이터 요청 수 감소 효과
VO
- 값 자체로 의미를 가지는 객체
- 변하지 않는 값을 가지는 객체 -> 값이 변하지 않음을 보장하여 코드의 안정성과 생산성을 높임
- 값이 같다면 동일한 객체
-> 각 개체를 비교하는 데 사용되는 ID가없음
-> 같은 객체인지 판단하기 위해 각 속성들의 값을 비교함
공통점
레이어 간 데이터를 전달할때 사용가능 (VO는 불변을 보장하기 때문에 데이터 전달 용도로 사용 가능)
DTO | VO |
값이 변할수 있음 레이어와 레이어 사이에서 사용 DTO dto(1) != DTO dto2(1) 데이터 접근 이외의 기능을 가지지않음 |
값이 변하지 않음 모든 레이서에서 사용 가능 VO vo1(1) == Vo vo2(1) 특정한 비즈니스 로직을 가질 수 있음 |
참고자료: 강의를 정리 해 봤습니다.
www.youtube.com/watch?v=EeJnNaiMy3U&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=91
'Back-end > Spring' 카테고리의 다른 글
톰캣 서버에서 데이터 소스, DB 설정 (0) | 2021.07.13 |
---|---|
MVC (0) | 2021.05.16 |
JPA와 JDBC (0) | 2021.04.25 |