728x90
interface Cha {
void skill();
}
class A {
void Attack(Cha b) {
b.skill();
System.out.println("공격");
}
}
class B implements Cha {
public void skill() {
System.out.println("마법사");
}
}
class C implements Cha {
public void skill() {
System.out.println("전사");
}
}
class D implements Cha {
public void skill() {
System.out.println("전사");
}
}
//
//class C{
// void skill() {
// System.out.println("전사");
// }
//}
public class myInterface {
public static void main(String[] args) {
// TODO Auto-generated method stub
A a = new A();
a.Attack(new Cha() {
@Override
public void skill() {
// TODO Auto-generated method stub
System.out.println("시작");
}
});
a.Attack(new Cha() {
@Override
public void skill() {
// TODO Auto-generated method stub
System.out.println("전환");
}
});
a.Attack(new C());
C c = new C() { // 익명구현 객체(상속 느낌)
void move() {
System.out.println("이동");
}
public void skill() {
move();
}
};
c.skill();
}
}
이 코드를 이해하고 있으면 좋다.
728x90
'Java' 카테고리의 다른 글
| [Java] (interface 익명 구현 객체) (19-2) (0) | 2023.08.31 |
|---|---|
| [Java] (interface 익명 구현 객체) (19-1) (0) | 2023.08.31 |
| [Java] (interface) (18-2) (0) | 2023.08.31 |
| [Java] (interface) (18-1) (0) | 2023.08.30 |
| [Java] (interface) (17-2) (0) | 2023.08.30 |