반응형
DTO(Data Transfer Object)
- 계층(Layer)간 데이터 교환을 위해 사용하는 객체.
- 데이터 교환 목적으로 사용하므로 로직을 가지지 않는다.
- getter/setter 메소드만 가진다.
데이터를 담고, 필요 시 꺼내어 사용하는 용도로만 사용되는 것이 DTO
class Member {
private String name;
private int age;
public Member(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public String setName(String name) {
this.name = name;
}
...
}
VO(Value Object)
- 값 그 자체를 표현하는 객체.
- 로직을 포함할 수 있다.
- 객체의 불변성(객체의 정보가 변경되지 않음)을 보장한다.
서로 다른 이름을 갖는 VO 인스턴스라도 모든 속성 값이 같다면 두 인스턴스는 같은 객체라고 할 수 있다.
이를 위해 VO에는 Object 클래스의 equals(), hashCode() 메소드를 오버라이딩해야 한다.
참고
반응형
'Programming > Java' 카테고리의 다른 글
[Java] 코드로 이해하는 Heap과 Stack의 동작 (0) | 2022.01.27 |
---|---|
[Java] toString() 메소드는 왜? (2) | 2022.01.27 |
[Java] 매개변수의 다형성 (0) | 2021.12.16 |
[Java] String이 불변(Immutable) 객체인 이유 (0) | 2021.12.11 |
[Java] Spring Pool (0) | 2021.12.11 |