Data Access Object는 데이터베이스의 Data에 접근하기 위한 객체이다.
DataBase에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용한다.
데이터의 집합
컴퓨터 안에 저장되어 있는 숫자
Data Transfer Object는 계층 간 데이터 교환을 하기 위해 사용하는 객체이다.
DTO는 로직을 가지지 않는 순수한 데이터 객체(getter & setter만 가지는 클래스)이다.
- 유저가 가지고 있는 데이터의 형태를 DTO에 넣는다.
- 해당 DTO를 받은 서버가 DAO를 이용해서 데이터를 저장한다.
Value Object는 값을 위해 사용되는데, read-only 특징을 가지고 있어 변경이 불가하고 읽기만 가능합니다.
DTO와 유사하지만 VO는 setter 기능이 없습니다.
DAO | DTO | VO |
---|---|---|
Data Access Object | Data Transfer Object | Value Object |
데이터베이스의 데이터에 접근하기 위해 사용 | 계층 간 데이터 교환을 위해 사용 | 값을 위해 사용 |
데이터베이스 접근 로직과 비즈니스 로직을 분리하기 위해 사용 | 로직을 가지지 않는 순수한 데이터 객체 | read-only 특징을 가지고 있는 객체 |
VO는 read-only로 getter만 가능하며, setter는 불가능하다.
DTO는 로직을 가지지 않는 순수한 데이터 객체(getter & setter만 가지는 클래스)로 읽고 변경하는 것이 모두 가능하다.