The Debugging Chronicles : "코드의 미학"
클래스 멤버변수 강제 본문
package class06;
// 특정 멤버변수의 값을 반드시 넣도록 "강제"하고 싶을 때
// "강제" : 개발할 떄 강제하다는 좋은것 , 지정하는 것, 오더를 내리는 것.
// 실수를 줄여준다
// 멤버변수의 값을 '강제'하고 싶을 때는
// == 생성자를 선언(정의) 하면된다
class Pokemon{
String name;
int level;
int exp;
Pokemon(String name){ // 강제할 항목
// this 생략하지 않는다.
this.name=name;
// 멤버 변수 // 외부 변수
// 외부에서 받아온 name 값을 멤버 변수 name에 저장
this.level = 5;
this.exp = 0; // 모든 멤버 변수 생성자 안에서 초기화를 직접 작성하는 것을 권장
}
// public 모두다 hello를 하는게 아니다 포켓몬을 위한 메서드
// static 객체와 무관하지 않기 때문에
void hello(){
System.out.println(this.name);
System.out.println("LV"+this.level);
System.out.println("exp"+this.exp);
}
}
public class Test01 {
public static void main(String[] args) {
int num =10;
Pokemon pika = new Pokemon("피카츄"); // 강제로 변경
// pika 내부의 멤버변수 name = "피카츄";
pika.name = "피카"; //멤버(변수) 접근 연산자
// Pokemon fire = new Pokemon();
Pokemon fire = new Pokemon("파이리");
// fire.name = "파이리";
pika.hello();
fire.hello();
}
}