Java

자바 step7 - Array(2)

코딩탕탕 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의 값을 인자로 전달하고 저장한 뒤, 반복문으로 호출 가능하다.