• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

질문이 있습니다.

24.04.08 10:15 작성 24.04.08 10:20 수정 조회수 58

0

안녕하세요.

C# 기본 문법 클래스 형식 변환에서

EnterGame함수를 통해 인자로 들어오는 player를 Mage로 형변환하여 Mage타입만 들고 있는 필드(int mp)를 수정하는 걸 보여주셨는데, 이렇게 되면 knight 타입의 함수도 따로 만들고, 다른 직업도 따로 만들어야 하는 거 아닌가요?

저 함수 하나로 모든 직업을 커버하는 방법은 어떤게 있을까요?

 

 

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.04.08

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

최창우님의 질문은 클래스 형식 변환과 다형성을 활용한 직업별 함수 구현 방법에 대한 궁금증으로 해석됩니다. 여러 타입의 객체들을 하나의 함수에서 다루고자 할 때, 클래스 형식 변환과 다형성을 적절히 활용하는 것이 중요합니다.

직접적으로 최창우님의 질문과 동일한 상황을 다룬 기존 게시글을 찾기는 어려웠지만, 비슷한 주제에 관한 두 가지 게시글이 유용한 정보를 제공할 수 있을 것 같습니다.

  1. 클래스 형식 변환 강의에서 궁금한점이 있습니다

    • 이 게시글에서는 클래스의 형변환이 어떻게 작동하는지에 대한 설명이 있습니다. 특히 객체가 자식 클래스에서 부모 클래스로 형변환되었을 때, 그 객체가 원래 가지고 있던 자식 클래스의 특성(필드, 메서드)을 잃지 않는다는 점이 중요합니다. 이 원리를 활용하면 EnterGame 함수 같은 상황에서 여러 직업 타입을 커버하는 방법을 구상할 수 있습니다.
  2. 다형성 부분에 질문있습니다

    • 다형성의 개념이 클래스 형식 변환과 직업별 함수 구현에 어떻게 적용될 수 있는지에 대한 다른 사용자의 질문과 이에 대한 답변입니다. SuperKnight, Knight, Player 클래스 간의 다형성을 활용한 예제가 포함되어 있으며, 이러한 상속 구조를 이해하는 것은 여러 직업 타입을 한 함수에서 다루는 방법을 고민할 때 도움이 될 수 있습니다.

이 두 예시를 참고하면, 하나의 함수(EnterGame 등)에서 다양한 객체 혹은 직업 타입을 다룰 때 어떻게 다형성과 형변환을 활용할 수 있는지에 대한 아이디어를 얻을 수 있을 것입니다. 핵심은 상속과 인터페이스를 이용해 공통적인 메서드를 정의하고, 필요에 따라 각 자식 클래스에서 이 메서드들을 재정의(Override)하여 특정한 행동을 구현하는 것입니다.

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