class Updator { public void update(Counter counter) { counter.count++;
}
}
public class Counter {
int count = 0;
public static void main(String[] args) {
Counter myCounter = new Counter();
System.out.println("before update:"+myCounter.count);
Updator myUpdator = new Updator();
myUpdator.update(myCounter);
System.out.println("after update:"+myCounter.count);
}
}
에서 Counter counter과 같이 클래스로 변수의 타입을 선언한 부분이 이해가 가지 않습니다. 구체적으로 어떤 부분이 이해가 가지 않느냐하면, Counter 클래스로 변수의 타입을 선언할 수 있다는 것은 이해가 가는데
Counter counter로 변수타입을 선언하면 도대체 어떤 결과를 가져올 수 있는거죠? int counter와 같이 기본타입으로 선언된 경우는 counter 변수가 숫자를 갖을 수 있다 라는 명확한 의미가 있기에 이해가 가는데
Counter counter와 같은 경우는 변수 counter을 Counter타입으로 선언했다고 한들 무슨 의미가 있는 것이죠? counter가 Counter 클래스의 인스턴트 변수나 메소드를 사용할 수 있는 것 외에 다른 어떤 의미를 갖을 수 있는지.. 이해가 안가네요.