언어/자바

static - 핵심

공부하고 기록하고 다시보는 블로그 2025. 5. 29. 17:18

 

- static은 new보다 먼저 생성된다.

- 아직 생성하지도 않았는데, static 메서드에 맴버변수를 선언하면, 순서때문에 에러가 발생한다.

- static 변수도 일반 메서드에 생성할 수 없다.

 

 

 

 

public static void main(String[] args) {

 

_08_Person p1 = new _08_Person();

p1 = new _08_Person("운동");

//p1.setKind("운동");

personMove(p1);

p1 = new _08_Person("독서");

//p1.setKind("독서");

personMove(p1);

p1 = new _08_Person("잠");

//p1.setKind("잠");

personMove(p1);

 

}

 

// Call by Reference

// static 메서드끼리

public static void personMove(_08_Person person) {

 

if(person.getKind() == "운동"){

person.excersize();

} else if (person.getKind() == "독서") {

person.readBook();

} else {

person.sleeap();

}

 

}

-> 방법 2가지

1. 자기 자신 new 해서 주소로 주소 접근

2. static으로 같은 레벨/static은 new 보다 먼저 생성된다.