C#
추상클래스와 인터페이스(Interface)
코다람쥐
2022. 1. 25. 16:02
1. 추상클래스
부모클래스의 멤버함수를 자식클래스가 상속받을 때 멤버함수의 오버라이딩을 강요하고 싶을 때 사용하면 된다.
추상클래스 정의
abstract class MyClass
{
}
추상함수 정의
abstract class MyClass
{
public abstract void Coda();
}
추상함수는 자식클래스에서 오버라이딩을 통해 반드시 정의해야함.
2. 인터페이스
인터페이스를 상속받은 클래스는 반드시 인터페이스의 멤버를 재정의 해야한다.
정의
interface IFlyale
{
void Fly() { }
}
사용방법
class Monster
{
}
interface IFlyale
{
void Fly() { }
}
class Orc : Monster, IFlyale
{
}
인터페이스는 상속과 달리 여러 개를 받을 수 있다.
업캐스팅
IFlyable iFlyable = new Orc();
인터페이스를 상속받았다는 시점에서 보면 업캐스팅이 가능하다.