package practice0407;
class SamsungTv implements Tv {
@Override
public void turnOn() {
System.out.println("Samsung 전원 on~");
}
@Override
public void turnOff() {
System.out.println("Samsung 전원 off~");
}
}
class LgTv implements Tv {
@Override
public void turnOn() {
System.out.println("Lg 전원 on~");
}
@Override
public void turnOff() {
System.out.println("Lg 전원 off~");
}
}
class BeanFactory {
public Object getBean(String beanName) {
if (beanName.equals("samsung")) {
return new SamsungTv();
} else if (beanName.equals("lg")) {
return new LgTv();
}
return null;
}
}
interface Tv {
public void turnOn();
public void turnOff();
}
public class Abstract {
public static void main(String[] args) {
BeanFactory factory = new BeanFactory();
Tv st = (Tv) factory.getBean("samsung");
// Tv st = (Tv)factory.getBean(args[0]); //bean 어떤 객체를 생성해주는것
//↑ run configure에서 argument에 값넣고 실행가능
st.turnOn();
st.turnOff();
}
}
'수업시간 JAVA > 이론' 카테고리의 다른 글
FileOutputStream ->바이트 단위 /ObjectOutputStream/FileOutputStream/ObjectOutputStream (0) | 2023.04.11 |
---|---|
Filewriter/ FileReader ->문자단위일 경우 (0) | 2023.04.10 |
상속 (0) | 2023.04.08 |
substring/indexof/ lastindexof /split 만들어보기 (0) | 2023.04.08 |
싱글패턴/charAt문제 (0) | 2023.04.08 |