본문 바로가기
Develop/Spring

[Spring] DAO,DTO,VO 알아보기

by dev_m.w 2024. 3. 13.

 

DAO(Data Access Object)

데이터베이스의 데이터에 접근하기 위해 생성하는 객체, 데이터베이스에 접근하기 위한

로직과 비지니스 로직을 분리하기 위해서 사용된다.

 

즉, DB에 CRUD 작업을 수행하는 클래스 이다 

 

 

DTO(Data Transfer Object)

  • 계층간의 데이터를 주고 받기 위해 사용되는 객체(바구니)
  • DTO 특성상 데이터 전달 목적으로 사용하기떄문에  getter/setter 메서드를 제외한 다른 로직은 필요하지 않다.
  • setter 를 이용하여 값을 담아 전달하고, 받는 에서는 getter를 이용해서 값을 꺼내 사용.

 

VO(Value Object)

값 그자체를 나타내는 객체.

DTO와 반대로 로직을 포함할수 있으며 , VO의 경우 특정 값 자체를 표햔하기 떄문에

불변성의 보장을 위해 생성자를 사용하여 한다.

 

VO는 서로 다른 이름을 갖는 VO인스턴스라도 모든 속성 값이 같다면 두 인스턴스는 같은 객체인 것이 핵심이다.