목표
- Method Hiding에 대해 알아보자
Method Hiding
- new 키워드를 사용하여, 기본 클래스에서 상속된 멤버를 명시적으로 감출 수 있다.
Method Hiding 예시
- Humanoid라는 기본 클래스에 Yell이라는 함수가 선언되어 있다.
using UnityEngine;
using System.Collections;
public class Humanoid
{
//Base version of the Yell method
public void Yell()
{
Debug.Log ("Humanoid version of the Yell() method");
}
}
- Humanoid를 상속 받은 Enemy 클래스는 기본적으로 부포 클래스의 Yell에 접근할 수 있다.
- 하지만 Enemy는 Humanoid와 다른 함성 소리를 지르고 싶다면?
- new 키워드를 사용하여 부모 클래스에 정의된 함수를 자식 클래스에서 재정의 할 수있다. (사실상 불효)
using UnityEngine;
using System.Collections;
public class Enemy : Humanoid
{
//This hides the Humanoid version.
new public void Yell()
{
Debug.Log ("Enemy version of the Yell() method");
}
}
SampleScript
- 출력 결과, 자식 클래스에서 재정의한 함수가 호출된다.
using UnityEngine;
using System.Collections;
public class SampleScript : MonoBehaviour
{
Enemy enemy = new Enemy();
public void Start()
{
enemy.Yell(); // OutPut : "Enemy version of the Yell() method"
}
}
'프로그래밍 > Unity C#' 카테고리의 다른 글
[Unity] Tutorial 06 - Intermediate Scripting (Encapsulation) (0) | 2020.01.20 |
---|---|
[Unity] Tutorial 06 - Intermediate Scripting (Information Hiding) (0) | 2020.01.20 |
[Unity] Tutorial 06 - Intermediate Scripting (Access Modifiers) (0) | 2020.01.17 |
[Unity] Tutorial 06 - Intermediate Scripting (Sealed) (0) | 2020.01.17 |
[Unity] Tutorial 06 - Intermediate Scripting (Interface) (0) | 2020.01.17 |