class A {
...
}
class B {
...
}
->
class A { // 외부 클래스
...
class B { // 내부 클래스
...
}
...
}
class AAA { // AAA는 BBB의 외부 클래스
int i = 100;
BBB b = new BBB();
class BBB { // BBB는 AAA의 내부 클래스
void method() {
// AAA a = new AAA();
// System.out.println(a.i);
System.out.println(i); // 내부 클래스이므로 객체 생성없이 외부 클래스의 멤버 접근가능
}
}
}
class Outer {
int iv = 0;
static int cv = 0;
void myMethod() {
int lv = 0;
}
}
class Outer {
class InstanceInner {}
static class StaticInner {}
void myMethod() {
class LocalInner {}
}
}