백지부터 시작하는 이세계 코딩 생활
setter, getter 본문
package note;
class MakeClassEx {
int x;
int y;
int sum;
}
class People {
int num;
String name;
String phone;
// setters 매서드와 getters 매서드 사용해보기.
private int number;
private String nameN;
private String phoneP;
// setter
public void setnumber(int number) {
this.number = number;
}
public void setnameN(String nameN) {
this.nameN = nameN;
}
public void setphoneP(String phoneP) {
this.phoneP = phoneP;
}
// getter
public int getnumber() {
return number;
}
public String getnameN() {
return nameN;
}
public String getphoneP() {
return phoneP;
}
public static void example(String[] args) {
// TODO Auto-generated method stub
// 2. 참조변수 선언
// 3. 객체 생성
// 4. 맴버 필드에 값 넣기.
// 5. 맴버 필드에 접근.
MakeClassEx objt = new MakeClassEx();
People person = new People();
objt.x = 199;
objt.y = 1;
objt.sum = objt.x + objt.y;
System.out.println("objt.x is: " + objt.x + "\t objt.y is: " + objt.y);
System.out.println("objt.sum is: " + objt.sum);
person.num = 99;
person.name = "PHU";
person.phone = "123-123-123";
System.out.println("person.num is: " + person.num);
System.out.println("person.name is: " + person.name);
System.out.println("person.phone is: " + person.phone);
System.out.println("--------------------------------");
System.out.println("--- setter & getter example ---");
person.setnumber(2);
person.setnameN("AA");
person.setphoneP("11-99-220");
// 값을 지정해줄 땐 setter, 지정한 값을 프린트할 땐 getter.
System.out.println("person.setnumber is: " + person.getnumber());
System.out.println("person.setnameN is: " + person.getnameN());
System.out.println("person.setphoneP is: " + person.getphoneP());
}// end main
}
public static void main(String[] args) {
// 배열참조도 가능.
// People 배열 타입.
People[] ppleArr;
ppleArr = new People[3];
/**
* 반복해서 프린트하는 방법 (참고) for(int i=0; i<ppleArr.length; i++) {
*
* ppleArr[i] = new Poeple(); ppleArr[i].setnum((i+1)*10);
* ppleArr[i].setname(name[i]); ppleArr[i].setphone(phone[i]);
*
* }
*/
// 배열에 People 객체 생성.
ppleArr[0] = new People(); // ** 변수 생성은 필수 !
ppleArr[0].num = 199; // ** 생성한 해당 번지수에 값을 대입 !
ppleArr[0].name = "K";
ppleArr[0].phone = "00-11-22";
ppleArr[1] = new People(); // ** 변수 생성은 필수 !
ppleArr[1].num = 1; // ** 생성한 해당 번지수에 값을 대입 !
ppleArr[1].name = "P";
ppleArr[1].phone = "44-55-77";
ppleArr[2] = new People(); // ** 변수 생성은 필수 !
ppleArr[2].num = 200; // ** 생성한 해당 번지수에 값을 대입 !
ppleArr[2].name = "L";
ppleArr[2].phone = "99-88-00";
for (int i = 0; i < ppleArr.length; i++) {
System.out.println("person.num is: " + ppleArr[i].num);
System.out.println("person.name is: " + ppleArr[i].name);
System.out.println("person.phone is: " + ppleArr[i].phone+"\n");
}//end main
}// end main
}
<결과확인>
<클래스 생성 및 호출 연습>
package s0508;
class People {
// 저장 필드 생성 부분.
private int no;
private String name;
private String address;
public People(int no, String name, String address) {
this.no = no;
this.name = name;
this.address = address;
}
public People(int no, String name) {
/* this 용도는 두가지다.
* 같은 클래스에 있는 생성자를 호출함.
* 외부객체에서는 불가능이지만, 같은 클래스 내에서는 가능함.
*/
this(no, name, ""); //생성자 호출
}
public People(int no) {
// this.no = no;
this(no, "", ""); // 호출 완료.
}
// 디폴트 생성자.
public People() {
this(0, "", ""); // 호출 완료.
}
// setter들
public void setNo(int no) {
this.no = no;
}
public void setName(String name) {
this.name = name;
}
public void setaddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "People [no=" + no + ", name=" + name + ", address=" + address + "]";
}
}
public class Ch12Ex05 {
public static void main(String[] args) {
People p1 = new People(10, "길동", "서울");
People p2 = new People(20, "유신");
p2.setaddress("경주시");
People p3 = new People(30);
p3.setName("춘향");
p3.setaddress("남원");
People p4 = new People();
p4.setNo(40);
p4.setName("진이");
p4.setaddress("개성");
System.out.println(p1);
System.out.println(p2);
System.out.println(p3);
System.out.println(p4);
}// end main
}
Comments