클래스는 하나의 클래스만 상속 가능하다. 하지만 인터페이스로 구현하면 다중 상속이 가능하다.
인터페이스의 특징
인터페이스는 기본적인 뼈대와 상속을 제공한다. 뼈대를 제공하기 때문에 기능을 완성 시킬 수 없다. 말그대로 선언만 해야한다. 또한 인터페이스로 구현하고 자식 클래스에서 재정의 할때는 override를 넣지 않는다. 그리고 인터페이스는 변수를 갖지 않는다. 인터페으스는 함수, 프로퍼티, 인덱서, 이벤트 4개만 갖을 수 있다. 더 기억할 건 인터페이스 끼리도 상속이 가능하다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
abstract public class A : MonoBehaviour
{
abstract public void AAA();
}
interface ITest
{
void BBB();
}
public class Test : A, ITest
{
public override void AAA()
{
print("AAA");
}
public void BBB()
{
print("BBB");
}
void Start()
{
AAA();
BBB();
}
}
결과 화면: