인터페이스 실습 - Remote

리모컨 하나로 TV, 전등, 자동차를 모두 켜고 꺼보자.

  • RemoteControl : 인터페이스

    • turnOn(), turnOff(), set_vol(int vol) : 추상 메서드

    • get_vol(, set_MUTE() : default 메서드

      • 디폴트 메소드는 인터페이스에 선언되지만 사실 객체가 가지고 있는 인스턴스 메소드라고 생각해야한다.

      • {}까지 있다고 생각하면된다.

  • TV : RemoteControl과 Realization(인터페이스와 구현의 관계)하고 있다.

  • Car : RemoteControl과 Realization(인터페이스와 구현의 관계)하고 있다.

  • Audio : RemoteControl과 Realization(인터페이스와 구현의 관계)하고 있다.

  • RemoteRole : 모든 변수들을 리모컨 하나로 제어

  • Main()

    • RemoteRole이 RemoteControl을 implements하지 않았기 때문에 my_rc.rc.get_vol()로 접근할 수 있다.

    • 그래서 불편함을 없애기 위해서 RemoteRole이 rc를 갖고 있으면서 RemoteControl을 구현하도록 했다.

  • output

Last updated

Was this helpful?