DTO

aiden·2022년 5월 29일

DAO와 DTO(VO)란 무엇일까?
먼저, 이 두 가지 용어를 설명하기에 앞서 MVC구조에 대해 먼저 알아야 한다. 글쓴이의 전 글 중에 MVC구조에 대해 부족하게나마 정리한 글이 있으니 보고 이해를 먼저 하도록 하자.

DTO

Data Transfer Object의 약자로, 계층간 데이터 교환을 위한 자바빈즈를 뜻한다.

또한 DTO는 VO(Value Object)와 용어를 혼용해서 많이 사용하는데, VO는 읽기만 가능한 read only 속성을 가져 DTO와의 차이점이 존재한다.

일반적으로 DTO는 로직을 가지고 있지 않은 순수한 데이터의 객체이며 객체의 속성과 그 속성의 접근을 위한 getter 및 setter 메소드만을 가지고 있다.
한 줄 요약 : DTO는 VO와 혼용하여 사용하며, 순수한 데이터의 객체이다.
DTO는 계층 간(Controller, View, Business Layer) 데이터 교환을 위한 자바 빈즈(Java Beans)를 의미한다.
DTO는 로직을 가지지 않는 데이터 객체이고 getter/setter 메소드만 가진 클래스를 의미한다.

DAO

Data Access Object의 약자로, 데이터베이스의 데이터에 접근하기 위해 생성하는 객체이다.

데이터베이스에 접근하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용한다.

간단하게, DB에 접속하여 데이터의 CRUD(생성, 읽기, 갱신, 삭제) 작업을 시행하는 클래스이다.

JSP 및 Servlet 페이지 내에 로직을 기술하여 사용할 수 있지만, 코드의 간결화 및 모듈화, 유지보수 등의 목적을 위해 별도의 DAO 클래스를 생성하여 사용하는 것이 좋다.
한 줄 요약 : DAO는 DB를 사용하여 데이터의 조회 및 조작하는 기능을 전담하는 오브젝트이다.


VO와 DTO 정리 : -      
VO : 사용 되는 값이 객체로 표현 되며, 값 변경이 없는 경우를 말함
DTO : 데이터의 전송을 위한 객체이며, 비지니스 로직까지 담아서 사용함

References
https://iri-kang.tistory.com/5
https://choitaetae.tistory.com/97

profile
웹/앱 백엔드 개발자

0개의 댓글