C# GetType() 메서드란?
C#에서 배열 클래스의 GetType() 메서드는 현재 인스턴스의 Type(타입) 정보를 반환하는 메서드입니다. 이 메서드는 모든 객체의 최상위 클래스인 Object에서 상속되므로, 어떤 객체에든 적용할 수 있습니다.
타입 정보 가져오기
객체의 타입을 얻으려면 다음과 같이 작성합니다.
Type tp = value.GetType();
아래 코드 조각에서는 GetType()으로 얻은 타입 정보를 활용하여 값이 int 형식인지 확인하는 방법을 보여줍니다.
if (tp.Equals(typeof(int)))
Console.WriteLine("{0} is an integer data type.", value);
예제
다음은 C#에서 GetType() 메서드를 실제로 활용하는 전체 예제입니다. object 배열에는 서로 다른 타입의 값이 담겨 있으며, 반복문을 통해 각 요소의 실제 타입을 판별합니다.
using System;
public class Program {
public static void Main() {
object[] values = { (int) 100, (long) 17111 };
foreach (var value in values) {
Type tp = value.GetType();
if (tp.Equals(typeof(int)))
Console.WriteLine("{0} is an integer data type.", value);
else
Console.WriteLine("'{0}' is not an int data type.", value);
}
}
}
실행 결과:
100 is an integer data type.
'17111' is not an int data type.
핵심 정리
- GetType()은 Object 클래스에서 상속된 메서드로, 현재 인스턴스의 런타임 타입을 반환합니다.
- typeof 연산자와 함께 Equals() 메서드를 사용하면 특정 타입 여부를 손쉽게 판별할 수 있습니다.
- object 배열처럼 다양한 타입이 섞여 있는 컬렉션을 다룰 때 특히 유용하게 활용됩니다.