수직적인 약속 (갑과 을)
할수있는 것을 제한
갈림길을 만낫을 때 그 갈림길 갯수만큼 갈수 있는 길을 강제하는것
위에서 아래로 코드를 작성할 때 유용함?
<aside> 💡 추상 클래스와 문법이 같으니 헷갈리지 말자.
</aside>
package ex07.example;
interface Remocon {
void on();
void off();
}
class SamsungRemocon implements Remocon {
@Override
public void on() {
System.out.println("삼성 리모컨 on");
}
@Override
public void off() {
System.out.println("삼성 리모컨 off");
}
}
class LgRemocon implements Remocon {
@Override
public void on() {
System.out.println("엘지 리모컨 on");
}
@Override
public void off() {
System.out.println("엘지 리모컨 off");
}
}
/**
* 작성자 : 홍길동
* 날짜 : 2023.12.26
* 구현체 : SamsungRemocon, LgRemocon
*/
class CommonRemocon {
private Remocon r;
public CommonRemocon(Remocon r) {
this.r = r;
}
public void on() {
r.on();
}
public void off() {
r.off();
}
}
public class InterEx01 {
public static void main(String[] args) {
CommonRemocon cr = new CommonRemocon(new SamsungRemocon());
cr.on();
}
}
package ex07.example;
interface EventListener {
void action();
}
class MyApp {
public void click(EventListener l) {
l.action();
}
}
public class InterEx02 {
public static void main(String[] args) {
MyApp app = new MyApp();
app.click(() -> {
System.out.println("회원가입 로직이 실행됩니다.");
});
}
}