Programming/C++, C#

[C#] Interface

GameCook 2018. 6. 6. 13:34

인터페이스는 상속받는 새로운 클래스가 기본 클래스로부터 함수를 구현해주는 약속이다.

메서드, 속성, 이벤트, 인덱서 또는 네가지 멤버 형식의 조합이 포함되며 구현 내용없이 서명만 정의한다.

제약 조건
  • 상수, 필드, 연산자, 인스턴스 생성자 소멸자 또는 형식이 포함될 수 없다.
  • 인터페이스(구현할 내용 지정)를 제외한 <구체적 구현 내용이 포함된>다른 어떠한 클래스로부터도 상속받지 않는다. 
즉 인터페이스에는 상속받을 클래스가 제공해야 하는 메서드와 속성들을 지정할 뿐이다.   
이것은 자식 클래스의 확장 가능한 프로그래밍 프레임 워크를 구성할 수 있는 좋은 방법을 제시해준다.

인터페이스 목적

다수의 프로그래머들이 참여하여 코드를 작성한다면 복잡성이 전반적으로 증가하게 될 것이다.

코드의 기본적인 일관성을 유지하기 위한 방편으로 이 점을 완화할 수 있다. (협업단계에서 필요)
-> 기본적인 구현 구조에 대한 방식을 통일, 그것을 시스템화하여 코드의 일관성과 안정성을 높일 수 있다.

인터페이스 구현

구현 클래스 또는 구조체의 해당 멤버가 공용이고 비정적이어야 하며 
인터페이스 멤버와 동일한 이름 및 서명을 사용하며 선언한 모든 항목에 대하여 구현부를 정의해야 한다.