package ch08.ex02;
public interface RemoteControl {
public int MAX_VOLUEM=10;
public int MIN_VOLUEM=0;
public void turnOn();
public void turnOff();
public void setVolume(int volume);
}
package ch08.ex02;
public class Audio implements RemoteControl{
private int volume;
@Override
public void turnOn() {
System.out.println("오디오를 켭니다.");
}
@Override
public void turnOff() {
System.out.println("오디오를 끕니다.");
}
@Override
public void setVolume(int volume) {
this.volume=volume;
if(volume > MAX_VOLUEM) {
volume = MAX_VOLUEM;
}else if(volume < MIN_VOLUEM) {
volume = MIN_VOLUEM;
}
System.out.println("현재 오디오 볼륨 : " + this.volume);
}
}
package ch08.ex02;
public class Television implements RemoteControl{
private int volume;
@Override
public void turnOn() {
System.out.println("TV를 켭니다.");
}
@Override
public void turnOff() {
System.out.println("TV를 끕니다.");
}
@Override
public void setVolume(int volume) {
this.volume=volume;
if(volume > MAX_VOLUEM) {
volume=MAX_VOLUEM;
}else if(volume < MIN_VOLUEM) {
volume=MIN_VOLUEM;
}
System.out.println("현재 TV 볼륨 : " + volume);
}
}
package ch08.ex02;
public class Ex {
public static void main(String[] args) {
// 부모를 객체로 만들어서 사용
RemoteControl rc=null;
rc=new Television();
rc.turnOn();
rc.setVolume(20);
rc.turnOff();
rc=new Audio();
rc.turnOn();
rc.setVolume(-10);
rc.turnOff();
}
}
TV를 켭니다.
현재 TV 볼륨 : 10
TV를 끕니다.
오디오를 켭니다.
현재 오디오 볼륨 : -10
오디오를 끕니다.