본문 바로가기
반응형

Interface3

11강. 인터페이스와 추상 클래스 (3) 인터페이스의 프로퍼티 인터페이스의 프로퍼티 인터페이스는 메소드 뿐 아니라 프로퍼티와 인덱서도 가질 수 있음 파생 클래스에서 프로퍼티와 인덱서를 반드시 구현해야 함 인터페이스의 프로퍼티 선언은 클래스의 자동구현 프로퍼티 선언과 동일 using System; namespace PropertiesInInterface { interface INamedValue { string Name{get;set;} string Value{get;set;} } class NamedValue : INamedValue {//INamedValue 인터페이스 프로퍼티 구현위해 자동구현 프로퍼티 이용 가능 public string Name{get;set;} public string Value{get;set;} } class MainA.. 2023. 5. 27.
11강. 인터페이스와 추상 클래스 (2) 다중 상속 여러 개의 인터페이스, 한꺼번에 상속하기 클래스는 "죽음의 다이아몬드" 문제 때문에, 여러 클래스 한꺼번에 상속할 수 없음 예제그림에서, 최초 클래스(Ridable)의 두 파생클래스(Car, Plane)가 존재하고, 이 두 파생클래스를 다시 하나의 클래스(MyVehicle)가 상속 했을 때, MyVehicle 클래스는 어느 Ride() 메소드를 물려 받을까? 인터페이스는 내용이 아닌 외형을 상속 “죽음의 다이아몬드” 문제 발생하지 않음 인터페이스의 다중 상속 지원 단순한 외형만 상속함으로 내부 구현은 상속자에게 맡김 클래스와 달리 인터페이스는 다중 상속이 허용 인터페이스의 메서드를 자식 클래스에서 구현할 때는 반드시 public 접근 제한자 명시 예를 들어, Notebook 클래스에서는 Com.. 2023. 5. 27.
11강. 인터페이스와 추상 클래스 (1) 인터페이스 (Interface) 인터페이스(Interface) 선언 인터페이스는 interface 키워드를 이용해서 선언 메소드, 이벤트, 인덱서, 프로퍼티만을 가질 수 있음 메소드, 이벤트, 인덱서, 프로퍼티의 구현부는 없음 접근 제한 한정자(e.g. private) 사용 불가 인터페이스는 인스턴스를 만들 수 없음 인터페이스를 상속받는 클래스의 인스턴스를 만드는 것은 가능 더보기 인터페이스는 청사진 클래스 (a.k.a Concrete 클래스)는 객체의 청사진 인터페이스는 클래스의 청사진 클래스가 해야하는 행동을 결정 : 즉, 클래스가 어떤 메소드를 가질지 결정 [특징] 가능한 멤버 : 메소드, 이벤트, 인덱서, 프로퍼티 대개 interface의 I로 시작하는 이름으로 명 구현부 없음 모두 public으.. 2023. 5. 23.
반응형