
초기화는 생성자를 통해서 해야 하고
상태의 변경은 반드시 행위(메서드)로 해야 한다. 
package ex04;
// 설계도
class People {
    String name; //  여기의 name의 스코프는 heap
    int power;
    int hp;
    // 초기화는 생성자를 만들어서 한다. 꼭꼭꼭!!!
    // 시간이 지나서 변해야 하는 것은 메서드로!!!
    // alt + insert - construct
    // shift + 방향키로 연속 선택 가능
    public People(String name, int power) { // 여기의 name의 스코프는 stack
        this.name = name; // this는 자신의 heap을 말함
        this.power = power;
        this.hp = 100;
    }
    // 행위
    public void upgradePower() {
        this.power++; // this는 heap거
    }
    @Override
    public String toString() {
        return "People{" +
                "name='" + name + '\'' +
                ", power=" + power +
                ", hp=" + hp +
                '}';
    }
}
public class PersonEx01 {
    public static void main(String[] args) {
        People p1 = new People("티모", 10);
        System.out.println("태어남");
        System.out.println(p1);
        p1.upgradePower();
        System.out.println("1회 업그레이드");
        System.out.println(p1);
    }
}Share article