• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

형변환 질문입니다.

22.05.30 17:51 작성 조회수 226

0

class Player {

    public int hp;

    public int attack;

    public void Move() { Console.Write("Player Move");}

}

class Knight : Player {

    public void Move() { Console.Write("Knight Move");} 

}

 

Knight knight = new Knight();

Player player = knight;

player.Move(); // Player Move 출력

 

위 코드에서 마지막 player.Move(); 할 때 Player Move가 출력이 되는 이유는 Player 타입으로 데이터 분석을 하고있기 떄문인가요? 

Knight타입이었던 knight를 player에 넣어줘서  knight Move가 나올 것을 기대하고 있었습니다. 

그래서 제가 이해한 바로는 Player 타입으로 형변환이 일어나서  player move가 출력된다

이것이  맞나요?

답변 1

답변을 작성해보세요.

1

그래서 제가 이해한 바로는 Player 타입으로 형변환이 일어나서  player move가 출력된다

네 맞습니다!
원본이 어떻든과 무관하게, 현재 변수는 Player타입으로 저장하고 있기 때문이죠.