익명 중첩 클래스
익명 중첩 클래스
익명 중첩 클래스의 형태
public class Phone{
public void call(){
System.out.println("전화 기능 실행");
}
}public class AnonymousInnerClassExample01 {
public static void main(String[] args){
Phone phone = new Phone();
phone.call();
Phone galaxy = new Phone(){
public void call(){
System.out.println("Galaxy 통화 기능 실행");
}
};
galaxy.call();
Phone iPhone = new Phone(){
public void call(){
System.out.println("iPhone 통화 기능 실행");
}
};
iPhone.call();
}
}class 이름 { ... }new 클래스명(){ ... }익명 중첩 클래스의 활용 예시
public class AnonymousInnerClassExample02 {
public static void main(String[] args){
Button menu = new Button(){
@Override
public void push(){
System.out.println("메뉴 출력");
}
};
Button order = new Button(){
@Override
public void push(){
System.out.println("메뉴 주문");
}
};
Button cancel = new Button(){
@Override
public void push(){
System.out.println("주문 취소");
}
};
Button exit = new Button(){
@Override
public void push(){
System.out.println("프로그램 종료");
}
};
//같은 클래스로 만들어진 객체지만 익명 중첩 클래스의 내용으로 인해 실행코드가 달라진다.
menu.push();
order.push();
cancel.push();
exit.push();
}
}Last updated