우선, polymorphism package를 하나 생성한다.

polymorphism -> TV.java 인터페이스 생성
package polymorphism;
public interface TV {
public void powerOn();
public void powerOff();
public void volumeUp();
public void volumeDown();
}

TV 소리를 출력해줄 Speak 인터페이스도 생성
package polymorphism;
public interface Speaker {
void volumeUp();
void volumeDown();
}
polymorphism -> SamsungTV.java class 생성
package polymorphism;
public class SamsungTV implements TV{
@Override
public void powerOn() {
System.out.println("SamsungTV 전원을 켠다.");
}
@Override
public void powerOff() {
System.out.println("SamsungTV 전원을 끈다.");
}
@Override
public void volumeUp() {
System.out.println("SamsungTV 볼륨을 올린다.");
}
@Override
public void volumeDown() {
System.out.println("SamsungTV 볼륨을 내린다.");
}
polymorphism -> LgTV.java 클래스 생성
package polymorphism;
public class LgTV implements TV {
@Override
public void powerOn() {
System.out.println("LgTV 전원을 켠다.");
}
@Override
public void powerOff() {
System.out.println("LgTV 전원을 끈다.");
}
@Override
public void volumeUp() {
System.out.println("LgTV 볼륨을 올린다.");
}
@Override
public void volumeDown() {
System.out.println("LgTV 볼륨을 내린다.");
}
}
TVuser.java 클래스 생성
package polymorphism;
public class TVuser {
public static void main(String[] args) {
TV tv = new SamsungTV();
tv.powerOn();
tv.volumeUp();
tv.volumeDown();
tv.powerOff();
System.out.println();
TV tv = new LgTV();
tv.powerOn();
tv.volumeUp();
tv.volumeDown();
tv.powerOff();
/*
SamsungTV 전원을 켠다.
SamsungTV 볼륨을 올린다.
SamsungTV 볼륨을 내린다.
SamsungTV 전원을 끈다.
LgTV 전원을 켠다.
LgTV 볼륨을 올린다.
LgTV 볼륨을 내린다.
LgTV 전원을 끈다.
*/
}
}