[ 익명의 내부 클래스 ]
interface Shape{
void draw();
}
interface Message{
void sendEmail(String msg);//이메일로 메시지 보내기
void sendSMS(String msg);//문자메시지 보내기
}
//3:12
public class Test03_익명의내부클래스 {
public static void main(String[] args) {
Message msg=new Message() {
@Override
public void sendEmail(String msg) {
System.out.println(msg +"메시지를 이메일로 전송..");
}
@Override
public void sendSMS(String msg) {
System.out.println(msg +"메시지를 문자메시지로 전송");
}
};
msg.sendEmail("hello~~~");
msg.sendSMS("안녕하세요");
class Rect implements Shape{
public void draw() {
System.out.println("사각형 그리기1");
}
}
Rect r=new Rect();
r.draw();
//익명의 내부클래스로 만들어 보기
Shape rect=new Shape() {
public void draw() {
System.out.println("사각형 그리기2");
}
};
rect.draw();
new Shape() {
public void draw() {
System.out.println("사각형그리기3");
}
}.draw();
}
}