한 줄 요약
제네릭 : 다양한 형식을 지원하는 클래스나 함수를 설계할 수 있도록해 형식 안정성과 코드 재사용성을 높임
class GenericClass<T>{}
class TestClass
{
GenericClass<int> genericIntClass = new GenericClass<int>();
GenericClass<float> genericFloatClass = new GenericClass<float>();
}
public class InstanceFactory<TBaseData, TClass, TController> where TBaseData : BaseData
{
public static TClass CreatInstance(int index, TController instanceController)
{
...(인스턴스를 생성하는 로직)...
}
}
where TBaseData : BaseData에서와 같이 T에 들어갈 수 있는 클래스를 제한할 수도 있다. 위 구문은 BaseData를 상속받는 요소만 해당 T에 포함될 수 있도록 한다.