Entity
  - Entity는 RDB 테이블내에 존재하는 컬럼만을 필드로 갖는 클래스다.
 
  - Entity 클래스는 상속을 받거나 구현체여서는 안된다.
 
VO(Value Object)
  - VO는 이름 그대로 값 객체라는 의미를 가진다.
 
  - 비지니스 로직을 포함할 수 있다.
 
  - 어떤 두 VO의 내부 필드값이 모두 같다면 두 VO는 같은 객체로 판별된다. (equals()와 hashcode()를 오버라이딩 해야한다.)
 
  - 불변 객체다. (Read-Only)
 
DTO(Data Transfer Object)
  - DTO는 계층(레이어)간 데이터 교환을 위한 객체이다.
 
  - 보통은 로직을 가지지 않으며 getter, setter 메소드만 갖는다.
 
  - 가변 객체다.
 
  - ex) 어떤 객체의 특정 필드들만 추려서 JSON 형식으로 전송해야하는 경우 데이터 가공 처리를 위해 DTO를 사용한다.
 
참고
  - https://webdevtechblog.com/entity-vo-dto-666bc72614bb