override & virtual 사용하기

DevCho1107

·

2020. 2. 3. 17:06

Override 사용방법





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using UnityEngine;
 
public class Monster : MonoBehaviour {
    //virtual 키워드를 통한 가상메소드 설정 : 자식 클래스가 오버라이드 할 수 있도록 설정
    public virtual void Attack()
    {
        debug.Log("Attack!");
    }
}
 
public class Orc : Monster {
    public override void Attack()
    {
        //모체클래스의 Attack을 실행
        base.Attack();
        //자식클래스의 재정의 
        debug.Log("Orcs Attack!");
    }
}
 
cs



자식이 부모의 메소드를 오버라이드할 때는 부모 메소드의 원형을 유지하면서 확장할 수도 있고, 
완전히 처음부터 메소드를 다시 만들 수도 있다.
이를 통해 같은 메소드라 하더라도 다형성을 적용 할 수 있다.


'< Programming > > C++' 카테고리의 다른 글

constexpr ( generalized constant expressions )  (0) 2023.05.04
C++ 17 에서 업데이트 된 기능 정리.  (0) 2023.04.25
RingBuffer 구현예제.  (0) 2023.04.20
std::Funtion 정리  (0) 2023.04.06
C++ Window IOCP Server  (0) 2023.04.06