(C#) Virtual / Abstract / Interface
2021. 5. 31. 22:55ㆍStudy/Unity
Virtual 과 Abstract는 거의 비슷하다.
virtual method는 선택적으로 파생 클래스에서 override 할 수 있습니다.
abstract method는 무조건적으로 파생 클래스에서 메서드를 override 해야 합니다.
overriding이 선택적이기 때문에 virtual method는 무조건적으로 본문을 선언해야 하고,
무조건적으로 override하기 때문에 abstract method는 본문을 선언할 수 없습니다.
또한 abstract class는 인스턴스화할 수 없습니다. (어찌보면 메소드의 본문을 선언할 수 없기에 당연한 것이다.)
Interface는 Abstract와 본문을 선언하지 못한다는 점에서 유사합니다.
하지만 멤버필드를 사용할 수 없습니다.(프로퍼티는 사용가능하다.)
Abstract는 개념적으로 계층적인 구조에서 사용이 되며, Interface는 계층적인 구조가 아니더라도 같은 기능을 구현해야 할 때 사용합니다.
'Study > Unity' 카테고리의 다른 글
Garbage Collection (GC) (0) | 2021.06.01 |
---|---|
(C#) Coroutine (0) | 2021.05.31 |
데이터 저장하기 (0) | 2020.09.19 |
Unity에서 GameCenter 적용시키기 (0) | 2020.08.20 |
MVC Pattern - Design pattern (0) | 2020.06.07 |