본문 바로가기

TIL(Today I Learned)

[20230707 TIL] 익명클래스

Java에서 익명 클래스(Anonymous Class)는 이름이 없는 클래스로, 클래스 정의와 객체 생성을 동시에 할 수 있는 방법이다. 익명 클래스는 주로 인터페이스나 추상 클래스를 구현하거나 상속받는 데 사용된다.

익명 클래스는

1. 이름이 없음: 익명 클래스는 이름이 없기 때문에 클래스를 정의하면서 동시에 객체를 생성한다.

2. 인터페이스나 추상 클래스 구현: 주로 인터페이스나 추상 클래스의 구현체를 제공하기 위해 사용된다. 익명 클래스를 사용하여 인터페이스의 메서드를 구현하거나 추상 클래스의 추상 메서드를 오버라이딩할 수 있다.

3. 단일 객체 생성: 익명 클래스는 일회성으로 사용되는 객체를 생성하기 위해 사용된다. 익명 클래스를 사용하면 클래스 정의와 객체 생성을 한 줄로 표현할 수 있어 코드의 간결성을 높일 수 있다.

익명 클래스의 구문은 다음과 같다:

```java
인터페이스명 또는 부모클래스명 변수명 = new 인터페이스명 또는 부모클래스명() {
    // 클래스 정의와 메서드 구현
};
```

익명 클래스는 중괄호 내에서 클래스를 정의하고, 해당 클래스에서 필요한 메서드를 구현한다. 익명 클래스는 해당 인터페이스 또는 추상 클래스에 선언된 메서드를 구현하여 객체를 생성한다.

다음은 익명 클래스를 사용하여 인터페이스의 메서드를 구현하는 예시이다:

```java
Runnable runnable = new Runnable() {
    @Override
    public void run() {
        // 실행될 코드 작성
    }
};
```

위의 예시에서 `runnable`은 Runnable 인터페이스를 구현한 익명 클래스의 객체다. `run` 메서드를 익명 클래스 내에서 오버라이딩하여 구현한다.

익명 클래스는 코드의 간결성과 편의성을 위해 사용되지만, 단일 객체 생성 및 재사용성을 감소시킬 수 있으므로 적절한 상황에서 사용하는 것이 중요하다.