같은 두 개의 인터페이스를 구현하는 클래스의 인스턴스를 전달 나는 경우 : 두 개의 서로 다른 아형
public interface One{
public void method1();
}
public interface Two{
public void method2();
}
public class AClass implements One, Two{
}
public static void aDiffMethod1(One o){
o.method1();
}
public static void aDiffMethod2(Two t){
t.method2();
}
public static void main(String[] args){
AClass a = new AClass();
aDiffMethod1(a);
aDiffMethod2(b);
}
가끔 내 코드에서 나는 그것이 인터페이스를 하나의 하위 유형 인 사실을 이용하여 AClass의 인스턴스를 전달합니다 (즉, 메서드의 매개 변수 형식이 One이고 AClass 형식을 전달할 것입니다.) 다른 경우에는 AClass 개체에 인터페이스 하위 형식을 알기 위해 두 번 전달할 수 있습니다 는 Two이므로 AClass를 Two의 하위 유형으로 전달합니다.
AClass의 인스턴스를 다른 인터페이스의 하위 유형이라는 이유로 다른 메소드에 전달하는 것이 좋습니까?
인터페이스로 프로그래밍하는 것이이게 무슨 뜻인가요? 괜찮습니까?
좋은 질문 ... –