Java에서 DTO란 Data Transfer Object의 약자로, 계층간 데이터 교환을 위한 자바빈즈(JavaBeans)이다.
DTO는 데이터베이스에서 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용 된다. DTO는 데이터베이스 레코드에 대응하며, DTO객체는 로직을 가지지 않는 순수한 데이터 객체이다.
이는 DTO 객체가 로직을 가지지 않아서 DTO 객체 자체가 변경되지 않기 때문에, 여러 컨트롤러나 뷰에서 사용될 수 있다는 장점이 있다.
DTO의 장점은 아래와 같다.👉👉
- 계층간 데이터 교환을 위한 자바빈즈로, 데이터를 표현하는 객체
- 데이터베이스에서 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용된다.
- DTO 객체는 로직을 가지지 않는 순수한 데이터 객체이다.
- DTO 객체가 로직을 가지지 않아서 DTO객체 자체가 변경되지 않기 때문에, 여러 컨트롤러나 뷰에서 사용될 수 있다.
DTO는 VO(Value Object)와 유사하지만, VO는 값을 가지는 객체이고 DTO는 데이터를 전송하는 객체이다.
VO는 DTO와 달리 로직을 가질 수 있다.
DTO의 예시👉👉👉
package test.dto;
/*
* Data Transfer Object
*
* - 여러가지의 정보를 하나의 객체에 담기 위해 설계된 클래스
* - 필드의 접근 지정자는 모두 private
* - 접근 메소드 setter, getter 메소드가 있어야 한다.
* - 디폴트(기본)생성자가 있어야 한다.
* - 인자로 필드의 모든값을 전달 받는 생성자도 있어야 한다.(있으면 좋음 option)
*/
public class MemberDto {
//필드의 접근 지정자를 private로
private int num;
private String name;
private String addr;
//디폴트 생성자
public MemberDto() {}
public MemberDto(int num, String name, String addr) {
super();
this.num = num;
this.name = name;
this.addr = addr;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
//마우스 우클릭 => source => generate 메뉴에서 constructor 와 setter,getter 메소드 생성 가능
}
'Java' 카테고리의 다른 글
JAVA Servlet (0) | 2023.05.20 |
---|---|
JAVA Super (0) | 2023.05.17 |
JAVA JDBC (0) | 2023.05.15 |
JAVA Input & Output (0) | 2023.05.11 |
JAVA Thread와 Runnable 의 차이 (0) | 2023.05.11 |
댓글