[C#]11.인터페이스는 약속이다
- 프로그래밍 언어 - C#
- 2018. 12. 11. 19:17
안녕하세요 유랑입니다.
이번 시간에는 인터페이스에 대해서 배워보겠습니다.
클래스도 아닌 것이 클래스 형태와 유사한 그런 느낌이네요.
1. 인터페이스와 추상 클래스
1-1) 인터페이스는 약속
인터페이스는 자신으로부터 파생될 클래스가 반드시 자신의 메소드를 구현하도록합니다.
게다가 이 메소드들은 public 한정자로 수식해야 하지요.
코드를 통해서 알아보겠습니다.
콘솔창에서 작성한 내용은 txt 파일로 생성되어 다음 위치에 저장되게 됩니다.
1-2) 인터페이스를 상속하는 인터페이스
인터페이스를 상속할 수 있는 것은 클래스뿐만이 아니라 구조체나 인터페이스도 가능합니다.
기존의 인터페이스에 새로운 기능을 추가한 인터페이스를 만들고 싶을 때 사용됩니다.
1-3) 여러 개의 인터페이스
클래스는 여러 클래스를 한꺼번에 상속할 수 없습니다.
업스캐팅이라는 문제가 생기면서 똑같은 메소드 이름이 두 개 이상이 있을시 모호해 질 수 있습니다.
이런 클래스의 단점을 비웃는듯이 인터페이스는 다중 상속이 가능합니다.
1-4) 추상 클래스
앞에서 인터페이스를 소개한 이유는 추상 클래스 때문인지도 모르겠네요.
추상 클래스는 인터페이스와 달리 "구현"이 가능하며 클래스와 다르게 인스턴스를 가질 수 없습니다.
추상 클래스는 abstract 한정자와 class 키워드를 이용해 선언하는데,
인터페이스와 클래스의 중간에 있다고 보시면 되지만 사실 클래스에 더 가깝습니다.
2. 마무리
오늘은 인터페이스와 추상 클래스에 대해서 배워보았습니다.
클래스와 다른 기능, 비슷한 기능을 가진 인터페이스와 추상 클래스는 복습을 통해서
차근차근 알아보도록 하겠습니다.
오늘도 고생하셨습니다.
감사합니다.
수업자료: https://github.com/YouRang12/-Tistory-CShop---Basic