C#에서 사용되는 모든 개체의 root base class이다. 키워드로 정의된 기본 자료형 뿐만 아니라, class, struct, enum, interface, delegate까지 모두 업캐스팅이 가능하다. Object Class에서 사용할 수 있는 public Method는 4개가 있다.
두 개체를 비교하고, 같으면 true, 다르면 false를 반환하는 것이 기본 동작이다.
다만 여기서 '같다'와 '다르다'라는 개념이, 참조타입이냐, 값타입이냐에 따라 달라진다.
- 참조 동등성
인스턴스가 참조타입일 경우, 진짜 둘이 같은 개체인지를 판단한다. 즉 주소값 비교를 통해 같은 메모리에 할당이 되어있는가에 대한 판단을 한다는 뜻이다.- 값 동등성
인스턴스가 값 타입일 경우, 값이 같은지를 판단한다. 값이 같은가는 해당 인스턴스의 자료형과 데이터가 모두 같은 경우를 의미한다.
어떤형태로 UpCasting 되어있던지, Runtime중에 해당 자료형을 확인할 수 있다. 해당 자료형의 메타데이터를 가져오는 방식이라고 하는데, Reflection, Attribute, Metadata에 대해서는 다음에 자세히 알아보도록 하자.
개체를 해싱해주는 함수이다. 이 또한 값형이냐 참조형이냐에 따라 나뉜다. 자세한건 msdn을 참고하자
해당 개체를 문자열로 반환해준다. ToString이 재정의 되어있다면, 해당 함수를 호출하겠지만, 되어있지 않다면 해당 자료형의 이름을 문자열로 반환한다.