JAVA/포스팅

자바 익명 내부 클래스

짜집퍼박사(짜박) 2023. 11. 14. 00:51

익명 내부 클래스(Anonymous Inner Class)는 이름이 없는 내부 클래스로, 클래스를 정의하면서 동시에 인스턴스를 생성하는 방식입니다. 주로 인터페이스나 추상 클래스를 즉석에서 구현하여 객체를 생성할 때 사용됩니다.

익명 내부 클래스의 주요 특징은 다음과 같습니다.

 

1. 이름 없음

익명 내부 클래스는 이름이 없습니다. 클래스의 정의와 객체의 생성을 동시에 수행합니다.

 

2. 인터페이스나 추상 클래스 구현

익명 내부 클래스는 주로 인터페이스나 추상 클래스를 구현하면서 객체를 생성하는데 사용됩니다.

 

3. 클래스의 정의와 객체 생성을 한 번에

익명 내부 클래스는 클래스의 정의와 객체의 생성을 한 번에 처리합니다.

 

4. 외부 변수의 사용

익명 내부 클래스는 외부 메서드의 지역 변수를 사용할 수 있습니다. 단, 이 변수는 final 또는 실질적으로 final이어야 합니다.

아래는 익명 내부 클래스의 예시입니다.

// 인터페이스 정의
interface Greeting {
    void greet();
}

public class AnonymousInnerClassExample {
    public static void main(String[] args) {
        // 익명 내부 클래스로 Greeting 인터페이스 구현 및 객체 생성
        Greeting greeting = new Greeting() {
            @Override
            public void greet() {
                System.out.println("Hello, world!");
            }
        };

        // 익명 내부 클래스의 메서드 호출
        greeting.greet();
    }
}

위의 예제에서 Greeting 인터페이스를 익명 내부 클래스로 구현하면서 동시에 객체를 생성했습니다. 이러한 방식으로 코드를 간결하게 유지하면서 필요한 인터페이스나 추상 클래스를 구현할 수 있습니다.

익명 내부 클래스는 주로 이벤트 처리, 스레드 생성, GUI 프로그래밍 등에서 사용되며, 간단한 기능을 한 번만 사용할 때 효과적으로 활용됩니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 예외 클래스의 계층구조  (0) 2023.11.14
자바 예외(Exception)  (0) 2023.11.14
자바 지역 내부 클래스  (0) 2023.11.14
자바 정적 내부 클래스  (0) 2023.11.13
자바 멤버 내부 클래스  (0) 2023.11.13