VO(Value Object)
값 자체를 표현하는 객체
변조가능성 메서드 존재 X ex) Setter, DTO와 달리 별도 메서드 추가 가능
-> 필드 값이 같다면 두 객체는 같은 객체로 처리
-> 실제 인스턴스 비교시 객체 주소값이 서로 다르므로, hashcode() 및 equals()를 재정의(오버라이딩) 필요
DTO(Data Transfer Object)
단순하게 데이터만 담아 계층 간 전달하는 객체
클래스가 갖고 있는 메서드는 getter / setter 만 존재
-> 오직 데이터 전달에만 초점
VO와 DTO의 차이점
VO
|
DTO
|
|
목적
|
값 자체를 표현
|
계층간 데이터 전달
|
동등성
|
필드값 동일시 같은 객체 취급
|
필드값이 같아도 같은 객체 X
|
가변성
|
불변(수정 불가)
|
Setter 존재시 가변
Setter 존재 안할시 불가변
|
로직
|
Getter / Setter 외의 별도 메서드 추가 가능
|
Getter / Setter 만 존재해야 함
|
'Backend > Java' 카테고리의 다른 글
자바 기본 API 클래스(3) (0) | 2022.07.24 |
---|---|
자바의 정석 정리(29) - 클래스와 인스턴스 (0) | 2022.06.25 |
자바의 정석 정리(28) - 메서드 ② (0) | 2022.06.17 |
자바의 정석 정리(27) - 메서드 ① (0) | 2022.06.16 |
자바의 정석 정리(26) - 변수 (0) | 2022.06.15 |