[JAVA] DTO, VO 그리고 Entity의 차이
2022. 8. 10. 16:02ㆍWeb/JAVA
프로젝트를 하다보니 DTO, VO를 혼용해서 사용하는 경우가 있는거같아 이번경우에 정리를 해둘려고한다.
1. DTO(Data Transfer Object)
- 계층간의 데이터 교환을 위해 사용하는 객체
- 데이터 교환만을 위해 사용하므로, 로직은 사용하지않고 getter/setter 메소드만 갖는다.
- 로직은 없고, 데이터를 꺼내고, 담는 메소드만 담는다.
2. VO(Value Object)
- VO는 값 그 자체를 표현하는 객체이다.
- 로직을 포함할 수 있으며, 객체의 불변성(객체의 정보가 변하지않음) 보장해야한다.
- VO에는 Object객체 인 equals() 와 hashCode()를 오버라이딩 해야한다.
- getter메소드만 가지고 있을 수 있다.
3. Entity
- JPA ORM 을 사용할 경우 적용되며, 실제 DB의 테이블과 매핑되는 객체이다.
- @id를 통해 각각의 Entity를 구분한다.
- 마찬가지로 로직을 포함할 수 있다.
'Web > JAVA' 카테고리의 다른 글
[Java] Jackson을 활용한 데이터 변환(Json to Java Object) (0) | 2022.08.31 |
---|---|
[JAVA] 자주 사용하는 Lombok 어노테이션 (0) | 2022.08.10 |
[JAVA] JAVA 8 함수형 인터페이스 (0) | 2022.07.31 |
[JAVA] JVM 란? (0) | 2022.07.14 |
[JAVA] 기본부터 다시 다지자 (0) | 2022.07.13 |