인프런 커뮤니티 질문&답변

이경로님의 프로필 이미지
이경로

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

다형성

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

해결된 질문

작성

·

433

0

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

1.PNG

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

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

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

이경로님의 프로필 이미지
이경로
질문자

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

이경로님의 프로필 이미지
이경로

작성한 질문수

질문하기