using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Box // 부모 클래스
{
// 자식클래스가 부모클래스의 메소드를 덮어쓸 가능성이 있다면
// 해당 부모클래스의 virtual을 입력 (public virtual void...)
// 부모클래스를 덮어쓸, 해당 자식클래스에 override를 입력 (public override void...)
// cf) 자식클래스에서 부모의 방법을 써야할 경우? ==> 자식 클래스 내에서 메소드 안에 baee.Introduce 를 입력하면 부모클래스의 Introduce를 불러옴
public virtual void Introduce() // 나중에 상속한 자식 클래스가 부모의 메소드를 덮어씌우도록 하고 싶을 땐, 덮어 씌워질 가능성이 있는 함수에 대해서 'virtual'선언을 해줌(내 자식이 이걸 덮어쓸 가능성이 있다는걸 미리 얘기해주는 것.)
{
Debug.Log("안녕하세요, 박스입니다.");
}
public void Dump(string thing)
{
Dump("아무나 ", thing);
}
public void Dump(string who, string thing)
{
Debug.Log(who + "씨, " + thing + " 좀 버려줘요.");
}
public void Dump(int number)
{
Debug.Log(number + "개 버렸습니다");
}
}
============================================================
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TrashBin : Box // 자식클래스. 박스를 가지고 쓰레기통을 만들었다고 생각. TrashBin은 Box의 자식
{
public override void Introduce()
{
// base.Introduce(); // base는 부모를 뜻함. 부모에 있는 Introduce로 들어감
Debug.Log("안녕하세요, 저는 쓰레기통인데요?");
}
}
댓글