DAO(Data Access Object)
- 데이터에 접근하기 위한 객체
- 직접 데이터베이스에 접근하여 데이터를 삽입, 삭제, 조회 등의 기능을 수행한다.
- 데이터베이스에 접근하기 위한 로직 & 비즈니스 로직을 분리하기 위해 사용한다.
DTO(Data Transfer Object)
- 계층 간 데이터 교환을 하기 위해 사용하는 객체
- 어떠한 로직을 가지고 있지 않는 순수한 데이터 객체임 (getter, setter)
VO(Value Object)
- 변경이 불가능하며 오직 읽기(Read-Only) 기능만 가짐
- DTO와 비슷하지만 DTO는 setter 기능을 가지므로 값을 변경할 수 있다는 점이 다름
Entity
- 데이터베이스 테이블 매핑용 객체로 핵심 클래스
- 이를 기준으로 테이블이 생성되고 스키마가 변경된다.
사용자가 입력한 데이터를 데이터베이스에 저장하는 과정
- 사용자는 폼을 이용하여 데이터를 입력한다.
- 이 데이터는 DTO에 넣어서 전송된다.
- 해당 DTO를 받은 서버가 DAO를 이용하여 데이터베이스로 데이터를 저장한다.
Reference
https://melonicedlatte.com/2021/07/24/231500.html
https://youngjinmo.github.io/2021/04/dto-vo-entity/