ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바 step7 - Array(2)
    Java 2022. 10. 25. 22:03

     

    MemberDto class 생성

    ge test.mapac;
    
    import java.util.Set;
    
    /*
     *  Data Transfer Object 클래스 만들기
     *  
     *  1. 필드의 접근 지정자를 private 로 설정한다.
     *  2. default 생성자가 있어야한다.
     *  3. 필드에 저장할 모든 값을 전달 받는 생성자가 잇어야 한다.
     *  4. 필드에 접근할 수 있는 getter, setter 메소드가 표준에 맞게 작성되어야 한다.
     *  
     *  
     *  마우스 우클릭 -> source -> generate 선택
     *  마우스 우클릭 -> source -> setter/getter 선택 
     */
    public class MemberDto {
    	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에서 Fields 와 getter, setter를 자동으로 생성해준다.

     

     

    package test.main;
    
    import test.mapac.MemberDto;
    
    public class MainClass05 {
    	public static void main(String[] args) {
    	MemberDto dto=new MemberDto();
    	//setter 메소드 테스트
    	dto.setNum(1);
    	dto.setName("김구라");
    	dto.setAddr("원숭이");
    	//getter 메소드 테스트
    	int num=dto.getNum();
    	String name=dto.getName();
    	String addr=dto.getAddr();
    	
    	//생성자의 인자로 필드의 저장할 값을 모두 전달하면서 객체 생성하기
    	MemberDto dto2=new MemberDto(2,"해골","행신동");
    	}
    }

    Member class를 상속받아서 객체를 생성하였다. Member class의 필드에 num,name,addr의 변수가 있으므로 set메소드로 값을 넣어줄 수 있다. 방법은 두가지로 위의 코드에 나와있다.

     

     

    package test.main;
    
    import test.mapac.MemberDto;
    
    public class MainClass06 {
    	public static void main(String[] args) {
    		//1. MemberDto 객체를 3개 생성해서 각각의 객체에 회원의 정보를 담아보세요. (3명의 정보)
    		
    		//2. MemberDto 객체의 참조값 3개를 저장할 수 있는 배열객체를 생성해서 참조값을 members 라는 지역변수에 담아보세요.
    		
    		//3. members 배열에 1. 에서 생성한 MemberDto 객체의 참조값 3개를 순서대로 담아보세요.
    		
    		/*
    		 *  4. 반복문 돌면서 members 배열에 담긴 MemberDto 객체를 하나씩 참조해서 아래와 같은 형식으로
    		 *  회원정보를 콘솔창에 출력해 보세요.
    		 *  
    		 *  번호:1, 이름:김구라, 주소:노량진
    		 *  번호:2, 이름:해골, 주소:행신동
    		 *	.
    		 *  .
    		 *  .
    		 */
    		MemberDto div1=new MemberDto(1,"김구라","노량진");
    		MemberDto div2=new MemberDto(2,"해골","행신동");
    		MemberDto div3=new MemberDto(3,"원숭이","상도동");
    		
    		MemberDto[] members=new MemberDto[3];
    		
    		members[0]=div1;
    		members[1]=div2;
    		members[2]=div3;
    		
    		for(int i=0; i<members.length; i++) {
    			System.out.println("번호:"+members[i].getNum()+" 이름:"+members[i].getName()+" 주소:"+members[i].getAddr());			
    		}
    	}
    }
    
    <console>
    번호:1 이름:김구라 주소:노량진
    번호:2 이름:해골 주소:행신동
    번호:3 이름:원숭이 주소:상도동

    마찮가지로 MemberDto class를 상속받아 객체를 생성하였다. 

    MemberDto에 num,name,addr의 값을 인자로 전달하고 저장한 뒤, 반복문으로 호출 가능하다.

     

     

     

    댓글

Designed by Tistory.