인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

dlrudfh's profile image
dlrudfh

asked

[MMORPG Game Development Series with C# and Unity] Part 1: Introduction to Basic C# Programming

Polymorphism

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

Resolved

Written on

·

440

0

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

1.PNG

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

C#

Answer 1

0

rookiss님의 프로필 이미지
rookiss
Instructor

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

dlrudfh님의 프로필 이미지
dlrudfh
Questioner

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

dlrudfh's profile image
dlrudfh

asked

Ask a question