C#-(3) 기본 개념

최대 1 분 소요

인터페이스란?

  • 사전적 의미로 서로 다른 두 시스템이나 장치, 소프트웨어 따위를 이어주는 부분

  • USB 포트를 예로 들 수 있는데
  • USB 플래시 메모리를 꽂으면 저장 장치로 사용 가능
  • 키보드나 마우스를 꽂으면 입력 장치로 사용 가능
  • USB 선풍기를 꽂으면 선풍기로 사용 가능
  • USB 냉장고를 꽂으면 냉장고로 사용 가능

  • USB 포트가 이렇게 다양하게 활용될 수 있는 이유는 PC와 주변기기가 USB라는 약속을 지키기 떄문이다.

  • 인터페이스도 프로그램 내에서는 USB와 같은 역할을 한다.
  • 인터페이스 : 그것은 클래스가 지켜야 하는 약속!
  • 인터페이스로부터 파생된 클래스가 어떤 메소드를 구현해야할지 정의 그림83

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

인터페이스의 특징

  • 인터페이스는 메소드, 프로퍼티, 인덱서, 이벤트만 선언할 수 있다.
  • 인터페이스는 구현부가 없다
  • 인터페이스는 접근 지정자를 사용할 수 없고, 모든 것이 public으로 선언된다
  • 인터페이스는 new 연산자를 이용해 인스턴스를 생성할 수 없다
  • 인터페이스를 상속받는 자식 클래스의 인스턴스를 생성할 수 있다.
  • 인터페이스를 상속받는 자식 클래스는 인터페이스에 선언되어 있는 모든 메소드, 프로퍼티를 구현해야 한다.
  • 이때 구현되는 메소드, 프로퍼티는 접근 지정자를 모두 public로 설정한다.

인터페이스의 장점

  • 개발 시간을 단축시킬 수 있다
  • 표준화가 가능하다
  • 서로 관계가 없는 클래스들에게 관계를 맺어줄 수 있다
  • 독립적인 프로그래밍이 가능하다

카테고리:

업데이트:

댓글남기기