본문 바로가기
Java

[Java] DTO (Data transfer Object) 란?

by happyhelen 2021. 9. 13.

DTO 란 말 그대로 data 를 object 로 변환하는 "객체"를 말한다

계층간 데이터를 전송하는 목적을 가진다

VO(Value Object) 라고도 하는데 VO 는 read only 라는 점에서 DTO 와 차이가 있다

 

 

public void memberInfo(int idNum, String id, String phoneNum, int age){
	System.out.println("멤버 아이디넘버 : " + idNum);
        System.out.println("멤버 아이디 : " + id);
    }
        
        
pubic static void main(){
	public void memberInfo(3, "king", "010-111-1111", 24);
    }

 

public void memberInfo(myMember mymember){
	System.out.println("멤버 아이디넘버 : " + idNum);
        System.out.println("멤버 아이디 : " + id);
    }
    
    
public static void main(){
	myMember mymember = new myMember(3, "King", "010-111-1111", 24);
        public void memberInfo(mymember);
    }

아래의 예제에서는 정보를 담는 새로운 클래스를 생성해 하나의 "묶음" 으로 전달한다

 

DTO 객체의 장점은 복잡한 메소드 매개변수를 깔끔하게 만들어 가독성을 높이고 

다른 메소드에서도 정보를 쓰고자 한다면 mymember을 사용해 간단하게 전달해줄 수 있다

 

 

 

그래서 아래와 같은 형태로 만드는 것을 기본으로 하는데 이를 '자바빈' 형식이라고 한다

많은 정보를 다룰 때 가독성과 유지보수 측면에서 좋다

 

pubic class myMember{
    private int idNum;
    private String id;
    private String phoneNum;
    private int age;
    
    public void setidNum(int idNum){
    this.idNum = idNum;
    }
    
    public int getidNum(){
    	return this.name;
    }
    
    ...
    
    }