익명 클래스(anonymous class)

정순동·2023년 12월 8일
0

자바기초

목록 보기
38/89

익명 클래스

익명 클래스란? 특이하게도 다른 내부 클래스들과 달리 이름이 없다. 클래스의 선언과 객체의 생성을 동시에 하기 때문에 단 한번만 사용될 수 있고 오직 하나의 객체만을 생성할 수 있는 일회용 클래스이다.

	new 조상클래스이름() {
    	// 멤버 선언
    }
    
    		또는
            
    new 구현인터페이스이름() {
    	// 멤버 선언
    }

이름이 없기 때문에 생성자를 가질 수 없고, 조상클래스의 이름이나 구현하고자 하는 인터페이스의 이름을 사용해서 정의하기 때문에 하나의 클래스로 상속받는 동시에 인터페이스의 이름을 사용해서 정의하기 때문에 하나의 클래스로 상속받는 동시에 인터페이스를 구현하거나 둘 이상의 인터페이스를 구현할 수 없다. 오로지 단 하나의 클래스를 상속받거나 단 하나의 인터페이스만 구현할 수 있다.

	class Example {
    	Object iv = new Object(){ void method(){} }; // 익명 클래스
        static Object cv = new Object(){ void method(){} }; // 익명 클래스
        
        void myMethod() {
        	Object lv = new Object(){ void method(){} }; // 익명 클래스
        }
    }

위 예시를 컴파일 하면 아래와 같은 4개의 클래스파일이 생성된다.

	Example.class
    Example$1.class
    Example$2.class
    Example$3.class

0개의 댓글