Unity 개발일지

[C#] 인터페이스(Interface)와 추상(Abstract)클래스 본문

C#

[C#] 인터페이스(Interface)와 추상(Abstract)클래스

아머르 2024. 4. 24. 21:06

기능을 구현하다보면 어떤 식으로 구현할까 항상 고민되는데 답은 생각보다 명확했다.

가장 큰 차이로 는 다중 상속과 단일 상속이 있는데

상속을 받아서 무언가 동작을 해야한다면 추상클래스로 구현하는 것을 추천하고,

특정한 기능들에 대한 호환성을 높이고싶다면 인터페이스로 구현하는 것을 추천한다.

 

인터페이스 사용예시(다중상속)

줍기 기능과 버리기 기능을 구현하고싶어서 각각의 인터페이스 구현

Item 클래스 정의 후 IItemPickable과 IDroppable 상속하여 각 기능 세부작성 후

Player 클래스에서 호출

Main에서 실행하여 확인해보자.

 

추상클래스 사용예시

각 도형의 모양을 그리기 위해 추상클래스 구현

각 도형의 클래스에서는 강제로 추상클래스의 Draw() 함수를 구현해야한다.

List를 정의하여 확인해보자.

반응형