Notice
Recent Posts
Recent Comments
Link
컴퓨터는 잘못이 없다..
[JAVA]퀴즈1_생성자,setter로 필드에 값을 대입해보자. 본문
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("행신동");
}
}
'공부 > JAVA' 카테고리의 다른 글
[JAVA]퀴즈2_static자원,non-static자원 사용해보기 (0) | 2020.11.28 |
---|---|
[JAVA]생성자란?(DTO만들기,접근지정자,getter,setter메소드,this) (0) | 2020.11.28 |
[JAVA] static자원을 포함하고 있는 클래스(static필드, static메소드,static메소드에서는 static자원만 사용가능하다!) (0) | 2020.11.28 |
Comments