Generic
제네릭 기능을 활용하여 작성된 클래스나 메서드로, 다양한 데이터 타입을 처리할 수 있도록 해줍니다.
Example - 제네릭 클래스
T는 제네릭 타입 매개변수로, 나중에 이 클래스를 사용할 때 구체적인 타입으로 대체됩니다.
//T는 다양한 데이터 타입을 받을 수 있도록 해주는 Keyword
public class MyGenericClass<T>
{
private T data;
public void SetData(T value)
{
data = value;
}
public T GetData()
{
return data;
}
}
void Start()
{
MyGenericClass<int> intInstance = new MyGenericClass<int>();
intInstance.SetData(10);
Debug.Log(intInstance.GetData()); // 출력: 10
MyGenericClass<string> stringInstance = new MyGenericClass<string>();
stringInstance.SetData("Hello, Unity!");
Debug.Log(stringInstance.GetData()); // 출력: Hello, Unity!
}
Example - 제네릭 메서드
public class MyClass
{
public void PrintData<T>(T data)
{
Debug.Log("Data: " + data.ToString());
}
}
void Start()
{
MyClass myClass = new MyClass();
myClass.PrintData<int>(100); // 출력: Data: 100
myClass.PrintData<string>("Hello!"); // 출력: Data: Hello!
myClass.PrintData<float>(3.14f); // 출력: Data: 3.14
}
제네릭의 장점
- 타입 안정성: 컴파일 시점에서 타입 검사가 이루어지므로 런타임 오류를 줄일 수 있습니다.
- 재사용성: 다양한 타입에 대해 사용할 수 있습니다.
- 유연성: 데이터 타입에 의존하지 않는 코드를 작성할 수 있어, 코드가 보다 유연해집니다.
'C#' 카테고리의 다른 글
[C#] Nullable이란 무엇인가? (0) | 2024.08.19 |
---|---|
[C#] IEnumerable vs IEnumerator (0) | 2024.08.17 |
[C#] 구조체(Struct) vs 클래스(Class) (0) | 2024.08.15 |
[C#] 상속 키워드 (0) | 2024.08.13 |
[C#] API를 호출할 때 "Malformed URL" 오류가 발생하는 이슈 (0) | 2024.08.12 |