반응형
제네릭
- 코드 type 안전성, 성능 및 코드 유용성을 향상시킴
- 대부분 Generic은 컬렉션 클래스를 생성하는데 사용됨(List<int>, Vector<string> 등)
- System.Collections.Generic 네임스페이스를 추가해 제네릭을 사용할 수 있음
- 자신만의 코드를 만들 수 있음
1) 선언
public class GenericList<T>
{
void Add(T input) { }
}
2) 사용
class TestGenericList
{
private class ExampleClass { }
static void Main()
{
// int형 리스트
GenericList<int> list1 = new GenericList<int>();
// string형 리스트
GenericList<string> list2 = new GenericList<string>();
// ExampleClass형 리스트
GenericList<ExampleClass> list3 = new GenericList<ExampleClass>();
}
}
3) 예제
using System;
using System.Collections.Generic;
namespace Generics_Example
{
// 제네릭 클래스 선언
public class GenClass<T>
{
public void GenFunction(T printvalue)
{
Console.WriteLine(printvalue);
}
}
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Printing Integer Value");
GenClass<int> gen = new GenClass<int>(); // int형
gen.GenFunction(144);
Console.WriteLine("Printing String Value");
GenClass<string> genstring = new GenClass<string>(); // string형
genstring.GenFunction("Hello String");
}
}
}