엄지월드

dao, vo, dto, entity 차이 본문

카테고리 없음

dao, vo, dto, entity 차이

킨글 2022. 8. 10. 22:38

DTO는 가변의 성격을 가진 클래스이며 데이터 전송을 위해 존재한다.(getter / setter)

그에 반해 VO는 그 자체의 의미를 가진 불변 클래스(Read-Only)를 의미한다. (getter만 존재)

DTO는 인스턴스 개념이라면 VO는 리터럴 개념이다.

 

즉, VO는 특정한 비즈니스 값을 담는 객체이고, DTO는 Layer간의 통신 용도로 오고가는 객체를 말한다.

 

Entity 클래스는 실제 DataBase의 테이블과 1 : 1 로 매핑 되는 클래스로, DB의 테이블내에 존재하는 컬럼만을 속성(필드)으로 가져야 한다.

Entity 클래스는 상속을 받거나 구현체여서는 안되며, 테이블내에 존재하지 않는 컬럼을 가져서도 안된다. 

Entity 클래스는 또는 가장 Core한 클래스라고 부른다. 

 

분류 DTO VO ENTITY
정의 레이어간 데이터 전송용 객체 값 표현용 객체
의미 있는 값을 표현 
DB 테이블 매핑용
상태 변경 여부 가변객체
생성 후 상태를 변경할 수 있다. 
불변 객체
생성 후 상태 변경이 없다. 
가변객체
생성 후 상태를 변경할 수 있다.
로직 포함 여부 로직을 포함할 수 없다. 로직을 포함할 수 있다. 로직을 포함할 수 있다. 

 

Comments