Entity vs DTO vs VO

Dami·2023년 11월 7일
0

SPRING

목록 보기
7/14

Entity, DTO(Data Transfer Object), VO(Value Object)는 소프트웨어 개발에서 데이터를 다루는 방법들이다.
그럼 이 세개의 차이는 무엇일까?
각 데이터를 표현하는 방식과 사용 목적에 있다.

Entity

Entity는 주로 DB에서 많이 사용하는 용어인데, '실체'라는 의미를 가진다.

데이터베이스에서 테이블에 직접적으로 매핑되는 객체를 나타낸다.

특징

  • 데이터베이스 테이블과 Object-Realtion Mapping 기술을 사용해 Mapping 된다.
  • 고유한 식별자를 통해 구분된다.
  • 데이터베이스의 CRUD 연산에 사용된다.

DTO(Data Transfer Object)

DTO는 계층 간 데이터 교환을 위해 사용하는 객체이다. 주로 여러 데이터를 하나로 묶어서 전달하는데 사용한다.

특징

  • 로직을 가지지 X ⇨ 순수하게 데이터 전달을 목적으로 가진다.
  • Layer 간 데이터 교환에 사용.
  • 데이터베이스 구조와 다를 수 있다.

VO(Value Object)

VO는 을 표현하는 객체이다.

특징

  • 불변성을 가진다. 즉, 한 번 생성되면 그 상태가 바뀌지 않는다.
  • 값이 같으면 같은 객체로 취급 된다.

0개의 댓글