DTO(Data Transfer Object)

  • 계층간에 데이터를 주고받을 때 사용하지만, 일회성으로 사용된다.
  • 데이터베이스의 데이터를 매핑하기 위한 데이터 객체다.
  • 데이터베이스로부터 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용한다.
  • getter/setter만 가지고있다.
public class UserDTO {
    private String name;
    private Integer age;
    private String phoneNumber;
    private String address;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phoneNumber) {
        this.phoneNumber = phoneNumber;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

VO(Value Object)

  • VO는 객체 의 의미를 가진다.
  • 안에 있는 내용물이 값 자체를 의미해서 read only 특징을 가진다.
  • equals, hashcode를 재정의해줘야한다.

-> VO는 추후 공부하게되면 한번 더 살펴보기. DTO와 VO에 관해서 구분하는 글들이 많아서 일단 정리해뒀다.