본문 바로가기
NOTE/Programming

[C#] abstract(추상) 클래스의 위험성.

by DevAthena 2018. 4. 1.
1
public abstract class MonoSingleTon<T> : MonoBehaviour where T : MonoSingleTon<T>

cs



이라는 클래스를 만들어 MonoSingleTon으로 유용하게 사용하고 있었다.

그 안에는 static 으로 만들어진 Instance가 존재했기 때문에 소스코드 어느 곳에서든

적재적소에 불러서 사용하기 편한 클래스였다.


오늘도 마찬가지로 MonoSingleTon을 상속받는 클래스를 하나 만들어

UnityEngine에서의 Awake와 Update문에 필요 A라는 소스코드를 작성해 놓았는데,


이 망할..얾니아ㅓㅏㅣㄴㅁ어ㅣㅏㄴㅁㅇㄹ 이 디버그도 안찍히도 돌아가지도 않길래

뭔가 이건 대체 뭔가 하고 핵 똥멍청이파스칼같은 고민을 하고있던 중.

설마 하는 마음으로 A를 씬에 존재하는 다른 스크립트를 통해 Init() 가상의 함수로 불러보았다.

아니나 다를까 Awake, Update 뿐만 아니라 다른 함수들도 잘 돌아가더라.

알고보니 까맣게 생각하지도 않고 있었던 문제였다.


Abstract 클래스로 만든(상속받은) 소스코드는 반드시 불려야 그 소스코드가 활성화 된다.

또 바보같은짓을 하지 않도록 명심하자.

 

'NOTE > Programming' 카테고리의 다른 글

[C++] Raw String Literal  (0) 2023.11.13
[C#] Reflection && Attributes  (0) 2018.04.01
[C#] 컬렉션  (0) 2018.04.01
[C#] 예외처리  (0) 2018.04.01
[C#] 인터페이스  (0) 2018.04.01