Front/JSP / / 2021. 12. 30. 22:51

[개념] DAO, DTO, VO 란?

JSP 공부를 하다가 DAO, DTO, VO 개념에 대해 잘 잡고 가야 될 것 같아서 간단하게 정리하여 포스팅한다.

 

DAO (Data Access Object)

DB의 data에 접근하기 위한 객체이다. DB에 접근하기 위한 로직을 분리하기 위해 사용한다.

직접 DB에 접근하여 data를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행한다.

MVC 패턴의 Model에서 이와 같은 일을 수행한다.

 

DTO(Data Transfer Object)

DTO는 계층 간(Controller, View, Business Layer) 데이터 교환을 위한 자바 빈즈(Java Beans)를 의미한다.
DTO는 로직을 가지지 않는 데이터 객체이고 getter/setter 메소드만 가진 클래스를 의미한다.

 

자바 빈즈(Java Beans) 설명

https://choitaetae.tistory.com/96

 

[JSP] 자바빈(JavaBean)이란?

자바빈(JavaBean) JSP에서 객체를 가져오기 위한 기법으로 데이터 전달 오브젝트 파일 DTO(Data Transfer Object)라고도 한다. 자바로 작성된 컴포넌트들 즉, 클래스(Class)를 일반적으로 말한다. JSP 프로그

choitaetae.tistory.com

 

VO(Value Object)

VO는 값 오브젝트로써 값을 위해 쓰인다. Read-Only 특징(사용하는 도중에 변경 불가능하며 오직 읽기만 가능)을 가진다. DTO와 유사하지만 VO는 getter 기능만 존재한다.\

 

DTO와 VO 차이점

DTO는 인스턴스 개념이고 VO는 리터럴 값 개념이다.

 

VO는 값들에 대해 Read-Only를 보장해줘야 존재의 신뢰성이 확보되지만 DTO의 경우는 단지 데이터를 담는 그릇의 역할일 뿐 값은 그저 전달되어야 할 대상일 뿐이다.

 

값 자체에 의미가 있는 VO전달될 데이터를 보존해야하는 DTO의 특성상 개념이 다르다.

 

 

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유