본문 바로가기

Languages/JAVA

[JAVA] DTO vs DAO vs VO 개념 정리

 이번 게시물에서 DTO, DAO, VO의 개념을 알아보고 다음 게시물에서 자바 DTO, DAO의 예제를 살펴보겠습니다.

 

 

DTO (Data Transfer Object)

- 계층간 데이터 교환을 위해 사용하는 객체입니다.

- 데이터 교환만을 위해 사용하므로 로직을 갖지 않고, getter/setter 메소드만 가집니다.

- 값을 변경할 수 있습니다(가변).

 

DAO (Data Access Object)

 - DB의 데이터에 접근하기 위한 객체이며 DB 접근을 하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용합니다.

 - 직접 DB에 접근하여 데이터를 삽입, 삭제, 갱신, 조회 등 조작할 수 있는 기능을 수행합니다.

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

 

VO (Value Object)

- 값 그자체를 표현하는 객체입니다.

- 로직을 포함할 수 있습니다.

- 변하지 않는 값을 가집니다(불변성).

- 주소가 달라도 값이 같으면 같다고 봅니다.