• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

메서드 오버라이드에서 new 질문입니다.

21.10.15 03:46 작성 조회수 79

0

안녕하세요.

메서드 오버라이드에서 new를 사용하면 식별자는 같지만 완전히 다른 메서드를 만들 수 있다고 배웠습니다.

그런데 예제 3.22에서 Baby 클래스에서 Walk()메서드를 new를 통해서 정의했기 때문에, 세 번째 경우(부모 타입 변수에 자식 타입 객체를 담는 경우)에 Human 클래스의 Walk() 메서드가 호출됐다고 말씀해주셨는데

저는 Baby 클래스 Walk()메서드와 Human 클래스의 Walk()메서드가 서로 다르기 때문에, Baby 클래스의 Walk()메서드를 호출하기 위해서는 다른 코드가 필요하고, 기존에 썼던 chris.Walk(); 코드로는 부모 클래스의 Walk() 메서드를 호출한 것이라고 이해했습니다.

1. 제가 맞게 이해한 걸까요?

2. 예제 3.22에서 Baby 클래스의 Walk()메서드(new를 통해 재정의한)를 호출하고 싶으면 어떻게 해야하나요?

감사합니다.

답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!