Frog is cry
interface(day24) 본문
package day25.ex04_interface;
public class Television implements RemoteControl{
//필드
private int volume;
//
//turnOn() 추상 메소드의 실제 메소드
@Override
public void turnOn() {
System.out.println("TV를 켭니다.");
}
//turnOff() 추상 메소드의 실제 메소드
@Override
public void turnOff() {
System.out.println("TV를 끕니다.");
}
//setVolume() 추상 메소드의 실제 메소드
@Override
public void setVolume(int volume) {
if(volume > RemoteControl.MAX_VOLUME) {
this.volume = RemoteControl.MAX_VOLUME;
} else if(volume < RemoteControl.MIN_VOLUME) {
this.volume = RemoteControl.MIN_VOLUME;
}else {
this.volume = volume;
}
System.out.println("현재 TV 볼륨 : " + volume);
}
}
package day25.ex04_interface;
public class Audio implements RemoteControl{
//필드
private int volume;
//
//turnOn() 추상 메소드의 실제 메소드
@Override
public void turnOn() {
System.out.println("Audio를 켭니다.");
}
//turnOff() 추상 메소드의 실제 메소드
@Override
public void turnOff() {
System.out.println("Audio를 끕니다.");
}
//setVolume() 추상 메소드의 실제 메소드
@Override
public void setVolume(int volume) {
if(volume > RemoteControl.MAX_VOLUME) {
this.volume = RemoteControl.MAX_VOLUME;
} else if(volume < RemoteControl.MIN_VOLUME) {
this.volume = RemoteControl.MIN_VOLUME;
}else {
this.volume = volume;
}
System.out.println("현재 TV 볼륨 : " + volume);
}
}
package day25.ex04_interface;
import javax.rmi.ssl.SslRMIClientSocketFactory;
public interface RemoteControl {
//상수
int MAX_VOLUME = 10;
int MIN_VOLUME = 0;
//추상 메소드
void turnOn();
void turnOff();
void setVolume(int volume);
//디폴트 메소드
default void setMute(boolean mute) {
if(mute) {
System.out.println("무음 처리합니다.");
}else {
System.out.println("무음 해제합니다.");
}
}
//정적 메소드
static void changeBatterty() {
System.out.println("건전지를 교환합니다.");
}
}
package day25.ex04_interface;
public class RemoteControl_Ex {
public static void main(String[] args) {
RemoteControl rc;
// RemoteControl rc = new RemoteControl(); 이와 같이 못함
rc = new Television();
rc = new Audio();
rc.turnOn();
rc.turnOff();
}
}
'JAVA > 국비수업' 카테고리의 다른 글
클래스 - (Day01) (0) | 2020.08.10 |
---|---|
익명클래스(day25) (0) | 2020.08.03 |
instanceOf(day24) (0) | 2020.07.31 |
다형성, instanceOf(Day22) (0) | 2020.07.30 |
캐스팅(day22) (0) | 2020.07.29 |
Comments