• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

오버라이딩의 정확한 용도를 잘 모르겠습니다!

23.07.07 15:23 작성 조회수 352

0

다형성에 대해 설명하실 때 부모 클래스의 메소드에 virtual, 자식 클래스의 메소드에 override를 사용하라고 알려주셨는데, 이걸 쓸 때와 안쓸 때의 차이가 무엇인지 잘 모르겠습니다.

1.PNG

해당 코드에서 부모 메소드와 이름이 같아 경고가 발생하긴 하지만, 오버라이딩을 했을 때와 실행 결과는 동일했습니다. 오버라이딩을 하는 것과 안하는 것의 명확한 차이점이 있을까요?

답변 1

답변을 작성해보세요.

0

네 엄청난 차이가 생기는데요.
A a = new B();
이런 식으로 실제 객체를 생성할 때는 new B로 했으나,
부모 타입의 참조 변수로 들고 있을 일이 생깁니다.
그럴 때 a.classA()를 호출할 때의 동작에서 차이가 납니다.
이 부분은 추후에도 몇 번 더 나올거에요

이경로님의 프로필

이경로

질문자

2023.07.08

중요한 차이가 발생했었군요 감사합니다!!!