내부 클래스 클래스 내에 선언된 클래스 클래스처럼 abstract, final과 같은 제어자를 사용하거나, 멤버변수처럼 private, protected 등의 접근 제어자를 사용할 수 있다. 내부 클래스와 외부 클래스에 선언된 변수의 이름이 같다면 변수 앞에 this 또는 외부 클래스명.this를 붙여 구별할 수 있다. 실행 결과 내부 클래스의 장점 내부 클래스에서 외부 클래스의 멤버들에 쉽게 접근할 수 있다. 캡슐화로 코드의 복잡성을 줄일 수 있다. 내부 클래스의 종류 instance class 외부 클래스의 멤버변수 위치에 선언 외부 클래스의 인스턴스멤버와 같이 취급 주로 외부 클래스의 인스턴스멤버들과 관련된 작업을 위해