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
오디오를 끕니다.