[자바(Java)] 익명의 내부 클래스 (Anonymous InnerClass)

방용환·2023년 4월 13일
0
post-thumbnail

익명의 내부 클래스 (Anonymous InnerClass)

1. 등장배경

  • 인터페이스를 사용하여 참조변수는 생성 가능하지만 객체 생성 불가능
    => 인터페이스는 클래스가 상속받기 위한 자료형
    => 인터페이스를 상속받은 자식클래스는 인터페이스에 선언된 모든 추상메소드를 반드시 오버라이드 선언
    => 인터페이스를 상속받은 자식클래스로 객체를 생성하여 인터페이스로 생성된 참조변수에 저장 가능

2. 익명의 내부 클래스 (Anonymous InnerClass)

  • 익명의 내부 클래스 (Anonymous InnerClass) : 인터페이스 또는 추상클래스를 상속받은 이름이 없는 자식클래스
  • 인터페이스를 상속받은 이름이 없는 자식클래스를 서언하고 인터페이스의 메소드를 오버라이드 선언하여 객체 생성 가능
  • 상속받은 인터페이스 또는 추상클래스의 모든 추상메소드를 오버라이드 선언
  • 하나의 객체를 생성하여 사용

Anonymous.java

Anonymous.java

public interface Anonymous {
	void display();
}

AnonymousApp.java

AnonymousApp.java

public class AnonymousApp {
	public static void main(String[] args) {

		Anonymous anonymous = new Anonymous() {

			@Override
			public void display() {
				System.out.println("annoymous inner class is overrode");
			}
		};
		anonymous.display();
	}
}

// annoymous inner class is overrode

0개의 댓글