DAO(Data Access Object)
- DB를 사용하여 데이터의 조회 및 조작하는 기능을 전담하는 오브젝트
- 데이터베이스의 데이터에 접근하기 위해 생성하는 객체
- 데이터베이스에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용
- CRUD의 기능
DTO(Data Transfer Object)
- 계층간 데이터 교환을 위한 자바 빈즈
- 일반적으로 DTO는 로직을 가지고 있지 않은 순수한 데이터의 객체이며 객체의 속성과 그 속성에 접근을 위한 getter과 setter 메소드를 가지고 있음
VO(Value Object)
- DTO와 마찬가지로 데이터 저장 담당 클래스로, DTO와 다른 점은 VO는 값을 위해 쓰이는 객체로 READ-ONLY 속성을 가지고 있으며, getter 기능만 가지고 있음