안녕하세요 삽잡이입니다.
이번시간은 지난 시간에 이어 object class 내에 있는 메서드들에 대해 알아보려고합니다.
다음은 object 클래스에서 제공해주는 정적(static) 메서드들입니다.
object 클래스에서 제공해주는 정적메서드에는
Equals() 메서드와 ReferenceEquals() 메서드가 있습니다.
저~번 시간에 가상 메서드로 Equals() 메서드에 대해 알아본 기억이 있지요?
static 메서드는 객체의 것이 아닌 'object class'의 것입니다.
아무튼.... 결론은 가져와서 '비교'해주는 메서드들입니다.
그리고 이 메서드들은 모두 인자를 두 개씩 받도록 구현되있군요...
사실 당연한 말입니다...
static 메서드는 내 것도, 너 것도 아닌 class의 것이니깐요....
equals() 메서드는 virtual equals() 메서드를 가져다가 사용합니다.
이 말은 즉, 참조 비교도, 값 비교도 할 수 있는 메서드라는 뜻입니다.
아무 것도 안한 상태라면 참조 비교,
오버라이드를 하면 값 비교를 할 수 있게 되지요...
그리고 ReferenceEquals() 메서드는 말그대로 '참조 비교'를 하는 메서드입니다.
ReferenceEquals() 메서드는 무조건 참조 비교입니다.
값이 같더라도 참조가 다르면 무조건 'false'가 되지요...
만약, 연산자 중복까지 고려한다면
비교하는 기능은 모두 네가지가 되군요...
virtual Equals, static Equals, static ReferenceEquals, == 연산자 까지 말입니다...
이번 시간은 여기까지 알아보도록 하겠습니다!
이상 삽잡이였습니다!
<참고 : C# and the .NET4 Platform>
'삽질의 현장 > - .NET' 카테고리의 다른 글
#038_닷넷(.NET)_.Net Framework 기본 - 예외 처리 (0) | 2015.10.29 |
---|---|
[삽잡이::C#]문자열 (0) | 2015.10.29 |
#036_닷넷(.NET)_.Net Framework 기본 -Object 메서드 (instance) (0) | 2015.10.29 |
#035_닷넷(.NET)_.Net Framework 기본 -Object 메서드 (virtual) (0) | 2015.10.28 |
#034_닷넷(.NET)_.Net Framework 기본 - 상속 구조를 끊는 new 키워드 (0) | 2015.10.27 |