Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

승쨩개발공부

[C#] 인터페이스(Interface) 본문

C#

[C#] 인터페이스(Interface)

Unknowns 2024. 3. 29. 04:27

인터페이스는 사용자 정의 자료형이다.

인터페이스는 맴버변수, 함수의 정의를 설정할수없다.

인터페이스의 접근지정제한자는 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