C#/C# Concept
[C#] 인터페이스
군우
2018. 3. 19. 15:48
인터페이스(interface)
- 사용자 접속을 기술할 수 있는 프로그래밍 단위이다
- 구현되지 않은 멤버들로 구성된 순수한 설계의 표현이다.
C#에서 클래스는 단일 상속만 가능하기 때문에 다중 상속이 가능한 인터페이스를 지원하고 있다.
인터페이스의 이름은 첫글자 대문자
인터페이스를 partial 로 선언하게되면 서로 다른 소스 파일에서 선언된 같은 이름의 인터페이스는 멤버들을 합집한한 멤버들을 갖게 된다.
인터페이스 안의 메소드들은 추상메소드와 같이 내용을 구현하지 않는다. 그리고 접근권한은 입력하지않아도 public이다 .
인터페이스는 파생클래스가 지켜야할 내용을문법적으로 규약한 계약서 역할을 한다. 인터페이스에서 계약서의 '무엇'부분을 정의한다면, 이 인터페이스를 실제로 구현하는 클래스에서는 인터페이스의 어떻게 부분을 구현한다.
분할 클래스(Partial Class)
클래스의 구현이 길어질 경우 두 개 이상의 소스 파일로 분할하여 동시에 작업을 수행하거나, 관리의 편의를 위해 클래스를 분할하기도 합니다. 클래스를 분할하려면 partial 키워드를 사용하면 됩니다. 클래스 말고도 앞으로 배울 인터페이스, 구조체에도 partial 키워드를 사용할 수 있습니다. 아래는 분할 클래스의 예제입니다.
인터페이스 이용하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | using System; interface IMusician { void Instrument(); } namespace CSStudy_interface { class PianoPlayer : IMusician //인터페이스를 상속 { public void Instrument() // 인터페이스 안의 메소드를 작성 { Console.WriteLine("Play the piano..."); } } class Program { static void Main(string[] args) { //IMusician m1 = new IMusician(); //인터페이스를 인스턴스화 할 수 없다. PianoPlayer m2 = new PianoPlayer(); m2.Instrument(); } } } | cs |