. (쩜) 연산자 활용해 클래스 간 상호작용을 연습했다.
B클래스로 연결되는 A클래스 설계
package com.dot;
// A 클래스 설계 측
public class A {
B b;
// 생성자 - 인스턴스화할때 수행하는 코드
public A() {
System.out.println("1단계 A 생성자 호출");
b = new B(); // B 객체 생성
}
public void callA() {
System.out.println("1단계 callA() 메서드 호출");
System.out.println("===== ===== ===== ===== =====");
}
}//end of class
C클래스로 연결되는 B클래스 설계
package com.dot;
// B 클래스 설계 측
public class B {
C c;
// 생성자
public B() {
System.out.println("2단계 B 생성자 호출");
c = new C(); // C 객체 생성
}
public void callB() {
System.out.println("2단계 callB() 메서드 호출");
System.out.println("===== ===== ===== ===== =====");
}
}//end of class
최종 결과값이 들어있는 C클래스 설계
package com.dot;
// C 클래스 설계 측
public class C {
//기본 생성자 호출 됨 => Heap 메모리에 C 객체가 올라갔다.
public void callFinal() {
System.out.println("3단계 callFinal() 메서드 호출");
System.out.println("===== ===== ===== ===== =====");
}
public void callC() {
System.out.println("3단계 callC() 메서드 호출");
System.out.println("===== ===== ===== ===== =====");
}
}// end of class
코드 실행문
package com.dot;
// 코드 실행측
public class MainTest1 {
// main
public static void main(String[] args) {
System.out.println(" . 연산자의 여행!!! ");
A a1 = new A(); // A 생성자 호출
B b1 = new B(); // B 생성자 호출
C c1 = new C(); // C 생성자 호출
a1.b.c.callFinal(); // 3단계 callFinal() 메서드 호출
b1.c.callFinal(); // 3단계 callFinal() 메서드 호출
c1.callFinal(); // 3단계 callFinal() 메서드 호출
a1.b.c.callC(); // callC() 메서드 호출
a1.b.callB(); // callB() 메서드 호출
a1.callA(); // 1단계 callA() 메서드 호출
}//end of main
}//end of class

'Java' 카테고리의 다른 글
| getter, setter메서드와 this 키워드 (0) | 2025.04.16 |
|---|---|
| 접근 제어 지시자 Accecc Modifier (0) | 2025.04.16 |
| 메서드를 개념을 활용한 커피머신 프로그램 (1) | 2025.04.16 |
| 생성자와 메서드를 활용해 class 사이 상호작용을 해본다 (0) | 2025.04.15 |
| 클래스 설계와 생성자의 활용 (0) | 2025.04.15 |