Java에서 익명 클래스(Anonymous Class)는 이름이 없는 클래스로, 클래스 정의와 객체 생성을 동시에 할 수 있는 방법이다. 익명 클래스는 주로 인터페이스나 추상 클래스를 구현하거나 상속받는 데 사용된다.
익명 클래스는
1. 이름이 없음: 익명 클래스는 이름이 없기 때문에 클래스를 정의하면서 동시에 객체를 생성한다.
2. 인터페이스나 추상 클래스 구현: 주로 인터페이스나 추상 클래스의 구현체를 제공하기 위해 사용된다. 익명 클래스를 사용하여 인터페이스의 메서드를 구현하거나 추상 클래스의 추상 메서드를 오버라이딩할 수 있다.
3. 단일 객체 생성: 익명 클래스는 일회성으로 사용되는 객체를 생성하기 위해 사용된다. 익명 클래스를 사용하면 클래스 정의와 객체 생성을 한 줄로 표현할 수 있어 코드의 간결성을 높일 수 있다.
익명 클래스의 구문은 다음과 같다:
```java
인터페이스명 또는 부모클래스명 변수명 = new 인터페이스명 또는 부모클래스명() {
// 클래스 정의와 메서드 구현
};
```
익명 클래스는 중괄호 내에서 클래스를 정의하고, 해당 클래스에서 필요한 메서드를 구현한다. 익명 클래스는 해당 인터페이스 또는 추상 클래스에 선언된 메서드를 구현하여 객체를 생성한다.
다음은 익명 클래스를 사용하여 인터페이스의 메서드를 구현하는 예시이다:
```java
Runnable runnable = new Runnable() {
@Override
public void run() {
// 실행될 코드 작성
}
};
```
위의 예시에서 `runnable`은 Runnable 인터페이스를 구현한 익명 클래스의 객체다. `run` 메서드를 익명 클래스 내에서 오버라이딩하여 구현한다.
익명 클래스는 코드의 간결성과 편의성을 위해 사용되지만, 단일 객체 생성 및 재사용성을 감소시킬 수 있으므로 적절한 상황에서 사용하는 것이 중요하다.
'TIL(Today I Learned)' 카테고리의 다른 글
[20230718] Spring과 Spring boot 차이 (0) | 2023.07.18 |
---|---|
[20230711] 빌드(Build)와 컴파일(Compile)차이 (0) | 2023.07.11 |
[20230705 TIL] Generic 이란 (0) | 2023.07.05 |
[20230627 TIL] 미들웨어와 데이터베이스 차이점 (0) | 2023.06.27 |
[20230623 TIL] 추상클래스, 일반클래스, 인터페이스 차이 (0) | 2023.06.23 |