그거/Java

[Java] Inner Class에 이런 것이 있었군요...

뽀기 2009. 9. 29. 21:34
Inner Class에서 OuterClass의 변수를 참조하려면 아래와 같이 해야 된다는군요.
홋.홋.홋.홋.

01: class OuterClass {
02:     int varA = 100;
03:     class InnerClass {
04:         static final int varA = 20;
05:         void methodCall() {
06:             int varB = varA;
07:             int varC = this.varA;
08:             int varD = Outer.this.varA;
09:         }
10:     }
11: }

02 라인의 varA와 04 라인의 varA의 변수명이 같습니다.
이런 경우, 아래 처럼 하면....

06:             int varB = varA;
07:             int varC = this.varA;

varB와 varC에는 20이란 값이 들어갑니다.


OuterClass에 정의되어 있는 변수에 접근하기 위해서는....
아래와 같이 해야 합니다~

08:             int varD = Outer.this.varA;

varD에는 100이란 값이 들어가는거죠!