🔷 익명 클래스(Anonymous Class)
- 내부 클래스의 일종.
- 클래스를 정의하지 않고 즉석에서 객체를 생성
- 인터페이스를 이용하여 객체를 생성할 때, 클래스를 인터페이스 구현하여 객체를 생성
🔷 익명클래스를 사용하는 이유
- 인터페이스의 기능이 적고, 그 객체가 1개만 필요할 경우
- 메서드로 매개변수의 값이 들어와야 할 때 익명클래스를 사용함.
package day07;
interface Power {
void turnOn();
void turnOff();
}
class TV implements Power {
@Override
public void turnOn() {
System.out.println("전원이 켜집니다.");
}
@Override
public void turnOff() {
System.out.println("전원이 꺼집니다.");
}
}
public class Anonymous01 {
public static void main(String[] args) {
Power t = new TV(); // Power를 구현한 클래스이기 때문에 Up Casting 가능
Anonymous01 a = new Anonymous01();
// 익명 클래스를 사용하여 Power 인터페이스 구현
a.product(new Power() {
@Override
public void turnOn() {
System.out.println("익명클래스 / 전원이 켜집니다.");
}
@Override
public void turnOff() {
System.out.println("익명클래스 / 전원이 꺼집니다.");
}
});
}
public void product(Power p) {
p.turnOn(); // 켜짐
System.out.println("정상 작동중...");
p.turnOff(); // 꺼짐
}
}
결과
익명클래스 / 전원이 켜집니다.
정상 작동중...
익명클래스 / 전원이 꺼집니다.
단순함은 궁극적인 정교함이다.
'백엔드 > Java' 카테고리의 다른 글
| Java List (1) | 2024.10.20 |
|---|---|
| Java Collection 프레임워크 (1) | 2024.10.20 |
| Java 예외 처리 실습 (1) | 2024.10.20 |
| Java 예외 처리 (0) | 2024.10.17 |
| Java 날짜와 시간 (0) | 2024.10.16 |