class A {
class B {} // 멤버 이너 클래스(인스턴스 멤버 클래스)
static class c {} // 멤버 이너 클래스(정적 멤버 클래스)
void abc() {
class D {} // 지역 이너 클래스(지역 클래스)
}
}
A a = **new** A();
A.B b = a.new B();
A.this.a // 내부 클래스에 같은 a가 있는데 외부 클래스의 a를 사용하고 싶을때
class A {
static class B {
}
}
A.B b = new A.B();
class A {
static interface B { // static을 생략해도 컴파일러가 자동으로 추가
void bcd();
}
}