도전 과제
package basic.exercise.test01;
public class A {
B b;
public A() {
b = new B();
}
}
package basic.exercise.test01;
public class B {
C c;
public B() {
c = new C();
}
}
package basic.exercise.test01;
public class C {
D d;
public C() {
d = new D();
}
}
package basic.exercise.test01;
public class D {
private String name;
public D() {
name = "나는 D 이다.";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package basic.exercise.test01;
public class MainTest1 {
// 코드의 시작
public static void main(String[] args) {
// 문제 1번
A a = new A();
// a.b.c.d.getName();
System.out.println( a.b.c.d.getName() );
// A 참조변수로 시작해서 D에 name 값을
// 화면에 출력 하시오.S
} // end of main
} // end of class
---------------------------------------------------------------------------------------------------
package basic.exercise.test02;
public class A{
private B b;
public void setB(B b) {
this.b = b;
}
public B getB() {
return b;
}
} // end of class
package basic.exercise.test02;
public class B {
private C c;
public void setC(C c) {
this.c = c;
}
public C getC() {
return c;
}
}
package basic.exercise.test02;
public class C {
private D d;
public void setD(D d) {
this.d = d;
}
public D getD() {
return d;
}
}
package basic.exercise.test02;
public class D {
private String name;
public D() {
name = "나는 D 이다.";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package basic.exercise.test02;
public class MainTest1 {
// 코드의 시작
public static void main(String[] args) {
// 문제 1번
A a = new A();
B b = new B();
C c = new C();
D d = new D();
// 메서드 의존 주입
a.setB(b);
b.setC(c);
c.setD(d);
// 각 클래스 내부에서(A, B, C, D) 객체를 생성하지 않고
// 외부에서 객체를 주입한 후 D에 getName() 호출 하시오.
// 외부에서 주입 받을 수 있도록 코드를 작성
System.out.println(a.getB().getC().getD().getName());
} // end of main
} // end of class'Java' 카테고리의 다른 글
| 2024.04.24 의존관계 (0) | 2024.04.24 |
|---|---|
| 2024.04.23 연관, 의존 관계란? (0) | 2024.04.23 |
| 2024.04.23 Composition(포함관계) (0) | 2024.04.23 |
| 2024.04.23 상속(Inheritance) (0) | 2024.04.23 |
| 2024.04.23 메서드 오버로딩 (0) | 2024.04.23 |