잊지 않겠습니다.

    COM class와 통신하는 방법에서 사용되었던 Interface를 C#에서 옮겨온 방법

  • C++에서는 pure virtual 함수를 이용한 interface의 구현으로 되었다.
  • C#에서는 Interface를 이용하는 방법이 프로그램의 디자인적 방법으로 구현되었다.
Interface의 특성
  • 암시적으로 Public
  • 암시적으로 Abstract
  • ALL OR NONE 명제를 따르게 된다.
  • 여러개의 interface를 상속가능하기 때문에, C++의 특징인 다중 상속과 비슷한 방법으로 구현이 가능하다.
추상 메서드 vs interface

  • interface는 순수한 프로토컬만의 기능을 가지고 있다.
  • 또 다른 방법의 다형적 동작이 가능한 프로그래밍이 가능하다.
  • 언제나 public이기 때문에 구현에 대해서 생각을 해줘야지 된다. : 객체내에서만 사용이 되는 것을 interface로 구현해줄 필요는 전혀 없다.
    • interface의 범위를 제한하기 위한 방법 : 언제나 공개적이고, 구현이 되어야지 된다.
인터페이스의 참조
  • as : 해당되는 interface의 구현 여부를 알아본다.
  • is : 인터페이스를 얻어낼 수 있다. (실패하면 null이 반환된다.)
Posted by Y2K
,