본문 바로가기
Java

JAVA DTO

by titlejjk 2023. 5. 15.

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

댓글