C#-(3) 기본 개념
인터페이스란?
-
사전적 의미로 서로 다른 두 시스템이나 장치, 소프트웨어 따위를 이어주는 부분
- USB 포트를 예로 들 수 있는데
- USB 플래시 메모리를 꽂으면 저장 장치로 사용 가능
- 키보드나 마우스를 꽂으면 입력 장치로 사용 가능
- USB 선풍기를 꽂으면 선풍기로 사용 가능
-
USB 냉장고를 꽂으면 냉장고로 사용 가능
-
USB 포트가 이렇게 다양하게 활용될 수 있는 이유는 PC와 주변기기가 USB라는 약속을 지키기 떄문이다.
- 인터페이스도 프로그램 내에서는 USB와 같은 역할을 한다.
- 인터페이스 : 그것은 클래스가 지켜야 하는 약속!
-
인터페이스로부터 파생된 클래스가 어떤 메소드를 구현해야할지 정의

- 추상 클래스에서 추상적인 부분(추상 메소드, 프로퍼티)만 따로 떼어 구현한 것
- 인터페이스는 추상 클래스와 마찬가지로 다른 클래스의 구현, 사용 방향을 제시하는 목적으로 사용
- 추상 클래스와 비슷하지만 추상 클래스는 클래스이기 때문에 다중 상속이 불가능하고, 인터페이스는 다중 상속이 가능

인터페이스의 특징
- 인터페이스는 메소드, 프로퍼티, 인덱서, 이벤트만 선언할 수 있다.
- 인터페이스는 구현부가 없다
- 인터페이스는 접근 지정자를 사용할 수 없고, 모든 것이 public으로 선언된다
- 인터페이스는 new 연산자를 이용해 인스턴스를 생성할 수 없다
- 인터페이스를 상속받는 자식 클래스의 인스턴스를 생성할 수 있다.
- 인터페이스를 상속받는 자식 클래스는 인터페이스에 선언되어 있는 모든 메소드, 프로퍼티를 구현해야 한다.
- 이때 구현되는 메소드, 프로퍼티는 접근 지정자를 모두 public로 설정한다.
인터페이스의 장점
- 개발 시간을 단축시킬 수 있다
- 표준화가 가능하다
- 서로 관계가 없는 클래스들에게 관계를 맺어줄 수 있다
- 독립적인 프로그래밍이 가능하다
댓글남기기