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();
}
}
반응형
'Spring & Spring Boot' 카테고리의 다른 글
DI_4 (0) | 2023.07.04 |
---|---|
DI_3 (0) | 2023.07.04 |
DI_1 (0) | 2023.07.03 |
Java 정리 - Spring (계속 추가) (0) | 2023.06.29 |
Spring(Legacy) 초기 설정 - STS.exe (0) | 2023.06.29 |