package CHAPTER06;

//부모 클래스 정의
class Parent4 {
 // 부모 클래스의 메서드
 void showMessage() {
     System.out.println("부모 클래스의 메시지");
 }
}

//자식 클래스 정의, Parent4를 상속받음
class Child4 extends Parent4 {
 // @Override: 부모 클래스의 메서드를 재정의(오버라이딩)
 @Override
 void showMessage() {
     // super.showMessage(): 부모 클래스의 메서드를 명시적으로 호출
     super.showMessage();  // 먼저 부모 클래스의 메시지를 출력

     // 그 다음, 자식 클래스에서 추가로 정의한 메시지를 출력
     System.out.println("자식 클래스의 메시지");
 }
}

//메인 클래스 (프로그램의 시작점)
public class C6_12_SuperMethodExample {
 public static void main(String[] args) {
     // Child4 객체 생성
     Child4 obj = new Child4();

     // 오버라이딩된 showMessage() 메서드 호출
     obj.showMessage();
 }
}
