클래스 안에 클래스를 중첩해서 정의할 수 있는데, 이것을 중첩 클래스(Nested Class)라 한다.

class Outer {
	...
	//중첩 클래스
	class Nested {
		...
	}
}

중첩 클래스의 분류

image.png

중첩 클래스를 분류하자면

class Outer {
	...
	//정적 중첩 클래스
	static class StaticNested {
		...
	}
	
	//내부 클래스
	class Inner {
		...
	}
	
	public void process() {
		//지역 변수
		int lcoalVar = 0;
		//지역 클래스
		class Local {
			...
		}
		Local local = new Local();}
}

중첩 클래스는 언제 사용하는가?

중첩 클래스를 사용하는 이유