DAO
- Data Access Object라는 이름에 맞게 DB에 접근하기 위한 객체입니다.
- DB의 필드와 매칭되어 있고 DB에 접근하여 삽입, 삭제, 수정과 같은 데이터 조작 역할을 수행하기 때문에 민감하게 다루어야 합니다. 따라서 RESTful API 개발시 클라이언트에게 리턴하는 것을 지양 해야합니다.
DTO
- Data Transfer Object라는 이름에 맞게 데이터 교환을 위한 객체입니다.
- 계층간 데이터 전송, 데이터 리턴등에 사용됩니다.
- getter, setter를 제외한 다른 로직은 갖지 않습니다.
VO
- Value Object의 약자로 값 객체입니다.
- DTO와 달리 setter가 없어 Read-only(불변 클래스)입니다.
- getter는 존재합니다.