☕Java practice: 익명객체 생성하기

6274 단어 JavapracticeJava

Java의 정석 연습문제 7_9 (익명클래스)

class Exercise709 {
	
	public static void main(String[] args) {
		Frame f = new Frame();
		f.addWindowListener(new EventHander());
	}
}

class EventHandler extends WindowAdapter {
	public void windowClosing(WindowEvent e) {
		e.getWindow().setVisible(false);
		e.getWindow().dispose();
		System.exit(0);
	}
}
  • 위의 EventHandler를 익명 클래스로 변경하시오.

익명객체의 생성은 추상클래스, 또는 인터페이스의 사용을 전제로 한다.
제시된 코드를 보면 EventHandler 클래스가 WindowAdapter를 상속하고 있는데,
이는 자바 라이브러리에 이미 존재하는 추상클래스이다.

즉 이를 이용해서 별도 클래스 정의 없이 익명클래스로 코드의 구성을 변경할 수 있다.

부모인 추상클래스 WindowAdapter 타입의 객체를 생성하며 EventHandler가 구현할 기능을 정의해준다. -> 익명객체의 생성

class Exercise709 {
	
	public static void main(String[] args) {
		Frame f = new Frame();
		f.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				e.getWindow().setVisible(false);
				e.getWindow().dispose();
				System.exit(0);
			}
		});
	}
}

좋은 웹페이지 즐겨찾기