승쨩개발공부
[C#] 인터페이스(Interface) 본문
인터페이스는 사용자 정의 자료형이다.
인터페이스는 맴버변수, 함수의 정의를 설정할수없다.
인터페이스의 접근지정제한자는 public으로 되어있고 public만 사용이 가능하다.
(눈에 보이진않지만 public, 자식은 public이라고 명시를 해주어야함)
맴버변수와 함수의 정의를 사용할 수 없는 모습.
인터페이스는 인터페이스의 함수의 선언을 상속받은 자식클래스에게 강제시킨다
(즉 인터페이스의 함수의 선언을 자식클래스가 정의를하지않으면 사용하지못함)
자 그럼 이 인터페이스가 무슨 장점이 있느냐?
다중상속같은 개념이 가능하다.
C++같은경우 다중상속이 가능한데 맴버변수같은 충돌이 일어날수있어서 있어도 위험해서 잘 쓰지않는다.
C#은 위험하니까 그냥 다중상속을 막아놨는데 대신 interface로 맴버변수를 막고 함수의 정의를 막음으로써
충돌을 일어나지않게 다중상속 개념으로 사용할수 있다.
Player와 Npc는 Event 인터페이스를 상속받기에
이런식으로 인자값으로 던지며 사용이 가능해짐.
'C#' 카테고리의 다른 글
[c#] 리스트(List) (0) | 2024.04.03 |
---|---|
[C#] 제네릭(Generic) (1) | 2024.04.01 |
[C#] 파티알(Partial) (0) | 2024.03.27 |
[C#] C++ C# 헷갈리는 차이 (0) | 2024.03.27 |
[C#] 프로퍼티(Property) (0) | 2024.03.27 |