Spring & Spring Boot
DI_2
minNa2
2023. 7. 4. 18:16
LgTV.java
package org.joonzis.DI_2;
public class LgTV implements TV{
public LgTV() {}
@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 소리 내린다");
}
}
SamsungTV.java
package org.joonzis.DI_2;
public class SamsungTV implements TV {
public SamsungTV() {}
@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 소리 내린다");
}
}
TV.java
package org.joonzis.DI_2;
public interface TV {
public void powerOn();
public void powerOff();
public void volumeUp();
public void volumeDown();
}
TVUser.java
package org.joonzis.DI_2;
public class TVUser {
public static void main(String[] args) {
LgTV lg = new LgTV();
lg.powerOn();
SamsungTV sam = new SamsungTV();
sam.powerOn();
System.out.println("--------------------");
// 업캐스팅
TV ltv = new LgTV();
ltv.powerOff();
TV stv = new SamsungTV();
stv.powerOff();
}
}
반응형