익명 클래스는 이름이 없는 클래스를 의미합니다. 클래스의 정의와 동시에 객체를 생성해서 사용하는 클래스입니다. 추상 클래스나 interface 의 특정 method 를 일회성으로 overriding 하고 싶은 경우 사용합니다. 따라서, 생성자를 구현할 수 없으며 하나의 추상 클래스를 상속받거나 하나의 interface 를 구현합니다.
클래스이름 참조변수이름 = new 클래스이름(){
// 메소드의 선언
};
public class AnonymousClass {
public static void main(String[] args) {
Person person = new Person() {
@Override
public void run() {
System.out.println("달리다");
}
};
person.run();
}
}
interface Person {
void run();
}
public class AnonymousClass {
public static void main(String[] args) {
Person person = () -> System.out.println("달리다");
person.run();
}
}
interface Person {
void run();
}
https://codechacha.com/ko/java-anonymous-class/
https://yookeun.github.io/java/2017/01/24/java-anonymousclass/