컴퓨터는 잘못이 없다..

[JAVA]퀴즈1_생성자,setter로 필드에 값을 대입해보자. 본문

공부/JAVA

[JAVA]퀴즈1_생성자,setter로 필드에 값을 대입해보자.

도토리까꿍v 2020. 11. 28. 19:42
Contents 접기

[퀴즈]

MemberDTO.java를 보고 매개변수가 있는 생성자로 필드에 값을 대입해보고, setter메소드를 이용해서 값을 대입해보자.

 

package test.mypac;


public class MemberDTO {

	private int num;
	private String name;
	private String addr;
	
	//생성자(Constructor)
	//객체를 new 할 때 호출되는 생성자
	//생성자 특징은 리턴 type (no return type)가 없고 클래스명과 동일하게 작성해야 한다.
	public MemberDTO(int num, String name, String addr) {
		System.out.println("MemberDto()생성자가 호출됨!");
		 //this.num, this.name, this.addr에 아무것도 없음 0nullnull이 출려될것임
		System.out.println(this.num+this.name+this.addr);
		//매개변수를 통해 this.num, this.name, this.addr에 값을 넣어줌
		//(생상자로 전달받은 값을 필드에 저장한다.)
		this.num = num; 
		this.name = name;
		this.addr = addr;
		System.out.println(this.num+this.name+this.addr);//매개변수로 입력한 값들이 출력될것임 
	}
	
	//기본(default) 생성자를 명시적으로 정의하기
	//생성자는 얼마든지 다중 정의할 수 있다.
	//다중 정의를 overloading 이라고 한다.
	public MemberDTO() {
		// MemberDTO(int num, String name, String addr) 이런 메소드만 있다면 
		//객체 생성 시 MemberDTO dto1 = new MemberDTO(1,"김재성","노량진") 으로만 생성해야 한다.
		//그냥 MemberDTO dto1 = new MemberDTO() 로만 생성하고 나중에 값을 넣고싶다면
		//지금처럼 매개변수가 없는 생성자를 하나 적어주어야 한다. 
	}
	
	//필드에 num값을 수정하는 setter 메소드
	public void setNum(int num) {
		this.num=num;
	}
	
	//필드에 num값을 리턴해주는 getter메소드
	public int getNum() {
		return this.num;
	}
	
	
	public void setName(String name) {
		this.name = name;
	}
	
	public String getName() {
		return name;
	}
	
	public void setAddr(String addr) {
		this.addr = addr;
	}
	
	public String getAddr() {
		return addr;
	}

	
	
	
}

 

[퀴즈답]

package test.main;

/*
생성자를 이용해 
필드에 값을 대입하는 방법과

setter을 이용해
필드에 값을 대입하는 방법을 비교해보자!
*/
import test.mypac.MemberDTO;

public class MainClass07 {
	public static void main(String[] args) {
		//객체 생성과 동시에 필드에 저장할 값 전달하기 
		MemberDTO dto1=new MemberDTO(1, "김구라", "노량진");
		
		//setter로 필드에 저장할 값 전달하기 
		MemberDTO dto2=new MemberDTO();
		dto2.setNum(2);
		dto2.setName("해골");
		dto2.setAddr("행신동");
	}
}
Comments