DAO (Data Access Object)
DAO는 DB의 데이터에 접근하기 위한 객체를 가리킨다. DB에 접근하기 위한 로직을 분리하기 위해 사용한다.
직접 DB에 접근하여 data를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행한다.
(예: Query가 들어있는 메소드를 가진 클래스)
DTO (Data Transfer Object)
DTO는 계층 간 (Controller, Vies, Business Layer) 데이터 교환을 위한 Java Bean을 의미한다.
DTO는 로직을 가지지 않는 데이터 객체익, getter / setter 메소드만 가진 클래스를 의미한다.
VO (Value Object)
VO는 Value Object의 약자로, Read-Only 속성을 가진 값을 가진 객체이다. 자바에서 단순히 값 타입을 표현하기 위하여 불변 클래스(Read-Only)를 만들어 사용한다. 따라서 getter 기능만 존재한다.
Domain (Entity)
실제 DB의 테이블과 매칭시키는 클래스. (DB와 더 가깝다고 생각하면 된다.)
보통, DTO와 VO와 Domain을 혼용해서 사용하는 경우가 있지만,
셋 다 모두 다른 의미를 가지고 있다.
728x90
'Java' 카테고리의 다른 글
[Spring] NoArgsConstructor / AllArgsConstructor (0) | 2025.01.25 |
---|---|
Spring Boot Starter (0) | 2024.11.28 |
[Java] Upcasting (업캐스팅) (0) | 2024.10.31 |
[Java] Stream (0) | 2024.10.23 |
[Java] Java의 인터페이스 (0) | 2024.10.22 |