Java - 새로운 객체로 바꾸기
-
- 나중에 c로 대체도 가능하게 하기
- 달라져야하는 부분에 대해서는 설정파일로 빼놓는것
- B b = new B(); 를 어떤것이든 대체하고싶다는것이다.
외부파일로 가져와야한다.
Program
package part3.ex06.인터페이스;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
public class Program {
public static void main(String[] args) throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
FileInputStream fis = new FileInputStream("src/part3/ex06/인터페이스/setting.txt");
Scanner s=new Scanner(fis);
String className=s.nextLine();
s.close();
fis.close();
Class clazz =Class.forName(className);
A a = new A();
X x = (X) clazz.newInstance();
a.setX(x);
a.print();
}
}
setting.txt 파일을 만들었다.
part3.ex06.인터페이스.B
B
package part3.ex06.인터페이스;
public class B implements X {
public int total() {
return 30;
}
}
이제 C 클래스를 만들어서 대체가 잘되는지 확인해보자.
C
package part3.ex06.인터페이스;
public class C implements X{
@Override
public int total() {
return 50;
}
}
50을 찍어보겠다. setting.txt 파일에서 C로 바꾼후 출력해보자.
댓글남기기