문제 재정의된 비교 연산자 MonoBehaviour 인스턴스가 null인지 아닌지 확인하고 싶을때 보통 이렇게 코드를 작성한다. if(myGameObject == null) { } 하지만 유니티는 == 연산자를 재정의해 사용하고 있기 때문에 생각과는 다르게 동작한다. 우선 유니티가 왜 이렇게 재정의해서 사용하게 됐는지 알아보자. 왜 그랬을까? 먼저 요약하자면 유니티는 다음 두가지의 이유로 ==를 재정의해서 사용한다. 에디터에서의 디버깅 용이성 C/C++로 이루어진 내부 구현과 C# 래퍼 오브젝트, 그로 인한 오브젝트 생명주기의 차이 디버깅 용이성 첫 번째로, Inspector에서 보여지는 필드들(public, SerializedField)에 대한 디버깅 용이성이다. Monobehaviour가 어떤 필드를..