7.6 익명 클래스
: 몸체는 정의되지만, 이름이 없는 클래스
-클래스 정의와 동시에 객체 생성
-이름이 없기 때문에 한 번만 사용 가능
-하나의 객체만 생성하면 되는 경우에 많이 사용함
•사용 방법
1) 부모 클래스에서 상속을 받아서 작성
2) 인터페이스를 구현하여서 작성
부모 클래스 참조변수 = new 부모클래스() {
... // 클래스 구현
}
비교문 Ex)
•이름이 있는 클래스
class Car extends Vehicle {
...
}
Car obj = new Car();
•익명 클래스
Vehicle obj = new Vehicle() { ... };
public interface RemoteControl {
void turnOn();
void turnOff();
}
public class AnonymousClassTest {
public static void main(String args[]) {
RemoteControl ac = RemoteControl() {
public void turnOn() {
System.out.pritnln("TV turnOn()");
}
public void turnOff() {
System.out.println("TV turnOff()");
}
};
ac.turnOn();
ac.turnOff();
}
}
출력
TV turnOn()
TV turnOff()
-> 익명 클래스도 내부 클래스와 같이 필드와 다른 메소드를 정의할 수 있음.
*메소드 안에 정의되는 지역 변수의 경우 final로 선언된 변수만 사용이 가능함.
-그래픽 사용자 인터페이스의 이벤트 처리기를 구현하는 경우에 많이 사용됨.
하나만 생성되면 되기 때문.