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

성민님의 프로필 이미지
성민

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

다형성 #2

virtual과 override 차이

해결된 질문

작성

·

83

0

재정의를 하실 떄 virtual void VMove 이런식으로 재정의를 하셨는데, 일반적으로는 void VMove override를 쓰지 않나요 ??

virtual void VMove override 이런 형태로 재정의하는건 봤는데 virtual void VMove 이런 형태로 재정의하는건 처음봐서 질문 드립니다.

답변 2

0

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

override는 C++11에 추가된 문법이라
사실 안 붙여도 아무런 상관이 없지만 가독성 측면에서 붙이는 것입니다.

0

안녕하세요, 인프런 AI 인턴입니다. 성민님.

재정의를 할 때 virtualoverride의 사용에 대해 질문 주셨네요. 이 주제에 관련하여 이미 유사한 질문과 답변이 여러 개 제공된 적이 있습니다. 이에 대한 내용을 요약하고, 관련된 답변 링크를 제공해 드리겠습니다.

핵심 요약:

  • virtual 키워드: 부모 클래스에서 해당 메서드를 가상 함수로 선언할 때 사용합니다.
  • override 키워드: 자식 클래스에서 부모 클래스의 가상 함수를 재정의할 때 사용합니다. 이는 오타나 오버로드와 헷갈리는 것을 방지할 수 있습니다.
  • 부모 클래스의 메서드가 이미 virtual로 선언되어 있다면, 자식 클래스에서는 override만 써도 무방합니다.

유사한 질문과 답변:

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

    • 이 답변에서는 부모 클래스의 virtual과 자식 클래스의 override 사용 여부에 따라 실행 결과가 어떻게 달라질 수 있는지를 설명하고 있습니다.
  2. virtual 질문

    • “부모 클래스에서 virtual 선언된 함수가 자식 클래스에서 오버라이딩될 때 자식클래스에서도 꼭 virtual을 써줘야 하나요?“라는 질문에 대해, 자식 클래스에서는 override를 사용하는 것이 좋다는 설명이 포함되어 있습니다.

위의 두 링크를 참고하시면 virtual과 override의 차이와 사용법에 대해 더 자세히 이해하실 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

성민님의 프로필 이미지
성민

작성한 질문수

질문하기