728x90
DAO
- DB의 data에 접근하기 위한 객체. DB에 접근 하기 위한 로직 & 비즈니스 로직을 분리하기 위해 사용한다.
- 직접 DB에 접근하여 data를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행한다.
DTO
- 계층 간 데이터 교환을 하기 위해 사용하는 객체.
- 로직을 가지지 않는 순수한 데이터 객체(getter & setter 만 가진 클래스)
VO
- VO(Value Object) 값 오브젝트로써 값을 위해 쓰임 read-Only
- DTO와 유사하지만 VO는 getter 기능만 존재한다
DTO는 인스턴스 개념이고 VO는 리터럴 값 개념이다.
VO는 값들에 대해 Read-Only를 보장해줘야 존재의 신뢰성이 확보되지만 DTO의 경우는 단지 데이터를 담는 그릇의 역할일 뿐 값은 그저 전달되어야 할 대상일 뿐이다.
값 자체에 의미가 있는 VO와 전달될 데이터를 보존해야하는 DTO의 특성상 개념이 다르다.
'Springboot' 카테고리의 다른 글
[springboot] 07-21 ~ 07-27 (0) | 2023.07.27 |
---|---|
[Springboot] RefreshToken Redis에 저장하기 (0) | 2023.07.19 |
[Springboot] CORS란? (2) | 2023.07.15 |
[Springboot] Handler, @ExceptionHandler, @ControllerAdvice (1) | 2023.07.11 |
[Springboot] 관계 매핑(ORM; Object Relational Mapping) N:M (0) | 2023.07.07 |