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