익명 클래스를 내부 클래스로 바꾸면 코드의 가독성이 향상되고 유지 관리가 더욱 간편해지는 경우가 있습니다. 또한 일부 코드 표준에서는 익명 클래스의 사용을 권장하지 않습니다.
예:
class Example {
public static void main(String[] args) {
new Thread() {
public void run() {
work()
}
private void work() {}
}.start();
}
}
빠른 수정을 적용한 후:
class Example {
public static void main(String[] args) {
new MyThread().start();
}
private static class MyThread extends Thread {
public void run() {
work();
}
private void work() {}
}
}