Java
Java 익명 내부 class
승모근뭉치
2023. 1. 28. 23:02
프로젝트 내 src 내 javabasic 패키지 내 Ex11InnerClass.java
package javabasic;
interface WindowEvent {
abstract public void windowClose();
abstract public void windowIcon();
abstract public void windowOpen();
}
public class Ex11InnerClass {
// WindowEvent 를 익명 내부 클래스 형태로 구현하시오
// 변수명은 win
// WindowEvent win=new WindowEvent() {
//
// @Override
// public void windowOpen() {
// // TODO Auto-generated method stub
// System.out.println("윈도우 창을엽니다");
// }
//
// @Override
// public void windowIcon() {
// // TODO Auto-generated method stub
// System.out.println("윈도우 아이콘입니다");
// }
//
// @Override
// public void windowClose() {
// // TODO Auto-generated method stub
// System.out.println("윈도우 창을닫습니다");
// }
// };
WindowEvent win = new WindowEvent() {
@Override
public void windowOpen() {
// TODO Auto-generated method stub
System.out.println("윈도우 오픈");
}
@Override
public void windowIcon() {
// TODO Auto-generated method stub
System.out.println("윈도우 아이콘화");
}
@Override
public void windowClose() {
// TODO Auto-generated method stub
System.out.println("윈도우 닫기");
}
};
// WindowEvent 를 구현하는 내부클래스 SubWindow 를 구현하시오
// class SubWindow implements WindowEvent
// {
// @Override
// public void windowOpen() {
// // TODO Auto-generated method stub
// System.out.println("서브가 윈도우를엽니다");
// }
//
// @Override
// public void windowIcon() {
// // TODO Auto-generated method stub
// System.out.println("서브의 윈도우아이콘입니다");
// }
//
// @Override
// public void windowClose() {
// // TODO Auto-generated method stub
// System.out.println("서브가 윈도우를닫습니다");
// }
// }
class SubWindow implements WindowEvent {
@Override
public void windowOpen() {
// TODO Auto-generated method stub
System.out.println("윈도우 오픈");
}
@Override
public void windowIcon() {
// TODO Auto-generated method stub
System.out.println("윈도우 아이콘화");
}
@Override
public void windowClose() {
// TODO Auto-generated method stub
System.out.println("윈도우 닫기");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
// 익명 내부클래스 선언후 메소드 호출
// Ex11InnerClass ex=new Ex11InnerClass();
// ex.win.windowOpen();
// ex.win.windowIcon();
// ex.win.windowClose();
Ex11InnerClass ex = new Ex11InnerClass();
ex.win.windowOpen();
ex.win.windowIcon();
ex.win.windowClose();
// SubWindow 내부클래스 선언후 메소드 호출
// Ex11InnerClass.SubWindow sub1=ex.new SubWindow();
// sub1.windowOpen();
// sub1.windowIcon();
// sub1.windowClose();
Ex11InnerClass.SubWindow sub = ex.new SubWindow();
sub.windowClose();
sub.windowIcon();
sub.windowOpen();
}
}
윈도우 오픈
윈도우 아이콘화
윈도우 닫기
윈도우 닫기
윈도우 아이콘화
윈도우 오픈