DAO(Data Access Object) : 실제로 DB에 접근하는 객체이다.(Persistence Layer(DB에 data를 CRUD하는 계층)이다.)
DTO(Data Transfer Object) : 계층 간 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체이다. DB의 데이터가 Presentation Logic Tier로 넘어오게 될 때는 DTO의 모습으로 바뀌게 된다. 로직을 갖고 있지 않는 순수한 데이터 객체이며 getter/setter 메소드만을 갖는다. 하지만 DB에서 받아온 값을 임의로 변경할 필요가 없기 때문에 DTO 클래스에는 setter가 없다.(대신 생성자에서 값을 할당한다.)
cf. Entity Class : 실제 DB의 테이블과 매칭될 클래스
참조
https://gmlwjd9405.github.io/2018/12/25/difference-dao-dto-entity.html
'개발 지식' 카테고리의 다른 글
필드, 변수, static, final (0) | 2020.11.14 |
---|---|
Java의 synchronized 키워드에 대한 고찰 (0) | 2020.11.14 |
REST란? (0) | 2020.09.26 |
디자인 패턴 (0) | 2020.09.26 |
HTTP 상태 코드 정리 (0) | 2020.09.23 |