C# Interface

Chan·2021년 12월 3일
0

C#

목록 보기
8/10

인터페이스

  • 인터페이스는 클래스와 구조 비슷
  • 메소드, 이벤트, 프로퍼티, 인덱서를 포함할 수 있으나 멤버의 기능은 x, 클래스에서 껍데기만 있다 -> 인스턴스 만들 수 없음
  • 클래스는 다중 상속 불가능하지만 인터페이스는 다중 상속 가능
  • 이름은 앞에 'I'만 붙이면 됌
  • 예시 코드
interface IRun
{
	void run();
}
interface IFly
{
	void fly();
}
public class MyCar : IRun, IFly // 인터페이스 다중상속 가능
{
	public void run(){
    	// run~~
    	}
    	public void fly(){
    	// fly~~
    	}
}

다중상속 다이아몬드 문제

  • ComboDrive에서 burn()메소드를 호출하면 어떤 메소드가 실행이 될지 "애매한"상황이 발생
  • 또한 i를 ComboDrive에서 사용하자면, 어디에서 상속되어 온 것을 사용할 지도 의문
  • 그것에 대비하여 interface가 있으니 잘 활용

출처: https://blog.soobinpark.com/23 [happy 빈이 라이프스토리]

profile
Backend Web Developer

0개의 댓글