1.의존성
의존성이란 어떤 한 대상이 다른 대상을 참조하거나 필요로 하는 정도
- 클래스를 사용하는 쪽(User)과 클래스를 제공하는 쪽(Provider)
- 메서드를 사용(호출)하는 쪽(User)에서는 사용하려는 메서드(Provider)의 선언부(메서드명, 타입)만 알면 됨
class A가 b.myMethodB()를 호출하려면 class B에 대한 의존성이 필요
A.java
class A {
public void methodA(B b){
b.myMethodB();
}
}B.java
class B{
public void myMethodB() {
System.out.println("methodB()");
}
}Main.java
class Main {
public static void main(String[] args){
A a = new A();
a.methodA(new B()); //B b = new B();
//a.methodA(b);
}
}
클래스 A(User)는 클래스 B(Provider)의 인스턴스를 생성하고 메서드를 호출함
→ 두 클래스는 서로 직접적인 관계가 있음
A.java
class A {
public void methodA(B b){
b.methodB();
}
}만약 클래스 B의 methodB( )의 선언부(메서드명, 매개변수 타입, 개수 등)가 변경되면 이를 사용(호출)하는 클래스 A도 따라서 변경해야함(메서드명, 매개변수 타입, 개수 등)
즉, 서로 직접적인 관계가 될 경우 한 쪽(Provider)이 변경되면 다른 한 쪽(User)도 변경되어야 한다는 단점이 있음
Last updated on