내부 클래스란 클래스 내에 선언된 클래스로 두 클래스가 서로 긴밀한 관계일 때 선언한다.
내부 클래스의 장점
인스턴스 클래스 (instance class)
스태틱 클래스 (static class)
지역 클래스 (local class)
익명 클래스 (anonymous class)
class Outer
{
class InstanceInner {} // 인스턴스 클래스
static class StaticInner {} // 스태틱 클래스
void myMethod()
{
class LocalInner {} // 지역 클래스
}
}