이너 클래스: 내부 클래스 , 아우터 클래스 : 외부 클래스
public class A{
class B{
}
}
외부클래스명.this. 을 명시적으로 붙여 참조한다.class A{
static class B{
}
}
A.B b = new A.b
인스턴스 익명 이너 클래스지역 익명 이너 클래스interface C{
public abstract void bcd();
}
class A1{
C b = new B(); //내부에서 생성한 인터페이스 상속 클래스를 객체생성
void abc(){
//메서드 구현
}
class B implement C{ //클래스 내부에서 외부 인터페이스를 상속한 클래스 생성
@Overriding
public void bcd(){
//메서드 구현
}
}
}
class A2{
C b = new C(){ //인터페이스 C를 상속받아 추상 메서드를 구현한 클래스를 생성
@Overriding
public void bcd(){
//메서드 구현
}
}
}