Unity

[3.17] 인터페이스, Virtual

ljw4104 2021. 3. 17. 11:59

Interface

  - 클래스가 다중상속을 지원하지 않기 때문에 사용.

 

- 형식

interface I인터페이스이름(형용사, I로 시작함) < T >
{
    반환타입 함수이름(매개변수);
}
  • 함수선언만 하고 본문이 없다 => 상속받은 자식 클래스에서 본문을 구현하게 함
  • 상속받은 클래스는 인터페이스에서 정의한 함수를 무조건 구현하여야 한다.
  • 인터페이스는 직접 인스턴스화 할 수 없다.
  • 클래스는 여러 인터페이스를 상속받고 여러 인터페이스를 구현할 수 있다.

docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/interfaces/

 

Virtual

  - 부모클래스에서 멤버함수 앞에 적으며, 이 키워드가 붙으면 자식클래스에서 재정의가 가능하다.

virtual override
부모 클래스의 멤버함수
자식 클래스에 의해 재정의 될 함수 앞에
자식 클래스의 멤버함수
부모 클래스의 함수를 재정의하는 함수 앞에
base 키워드 사용 : 부모 클래스의 멤버에 접근하는 키워드

EX ) 앞 게시물들에서 계속 말한 ToString()의 원래 형태는 public virtual string ToString()이다.