doublemetal
2013. 7. 11. 21:56
이너클래스란 클래스 안의 클래스를 말한다.
이너클래스는 아우터클래스의 모든 것을 사용할 수 있지만,
아우터클래스가 이너클래스를 사용하려면
먼저, 객체를 생성하고 자신의 객체 참조변수를 시작으로
이너클래스의 멤버변수와 메소드를 참조해야한다.
public class Outer {
int a;
public Outer() {
System.out.println("아우터 생성자");
}
public void test() {
System.out.println("test call");
}
public class Inner {
int b;
public Inner() {
System.out.println("Inner class creator" + "\na's value : " + a);
test(); //이너클래스는 아우터 클래스의 변수나 메소드를 바로 사용할 수 있다
}
public void method() {
System.out.println("Inner's method" + "\nb's value : " + b);
}
}
public static void main(String arg[]){
Outer out = new Outer();
//out.method(); 이너의 메소드는 직접 접근 불가
Outer.Inner in = out.new Inner();
in.method();
}
}
결과 :
아우터 생성자
Inner class creator
a's value : 0
test call
Inner's method
b's value : 0