상속받는 자식 클래스의 메서드의 접근 범위는 부모의 접근 범위와 같거나 크게 설정할 수 있다. (작게는 안된다.) InstanceInner 어떠한 클래스를 한 클래스에서만 사용하게 된다면 클래스 안에 클래스를 정의함으로써 내부클래스 형태로 만들어준다. 외부에는 불필요한 클래스를 감춤으로 코드의 복잡성을 줄일 수 있다.(다른 클래스에서 사용할 수 없다.) local class 지역 클래스 외부 클래스의 메서드나 초기화블럭 안에 선언한다. 익명 클래스 1회용 클래스 new Inner1() { void display(){ System.out.println("x:"+x*x*x); }//display }.display(); 객체를 생성함과 동시에 정의되어있는 메서드를 재정의하고 호출까지 동시에 한다. 인터페이스도..