// 제네릭은 메서드 오버라이드를 하면서 생기는 불필요한 코드의 중복을 최소화할 수 있다.
// Generic 메서드 방식으로 작성
static string Smart<T>(T Num)
{
return Num.ToString();
}
static void Main()
{
string Temp1;
string Temp2;
string Temp3;
string Temp4;
Test aTest = new Test();
// Generic 메서드 호출
Temp1 = Smart(1000); // Smart<int>(1000);
Temp2 = Smart(30.14); // Smart<double>(30.14);
Temp3 = Smart(true); // Smart<bool>(true);
Temp4 = Smart(aTest); // Smart<Test>(aTest);
Console.WriteLine(Temp1);
Console.WriteLine(Temp2);
Console.WriteLine(Temp3);
return;
}
static void Smart<T1, T2>(T1 Var1, T2 Var2)
{
Console.WriteLine("[" + Var1 + "]:[" + Var2 + "]");
}
static void Main(string[] args)
{
Smart(100, 3.14);
Smart("헬로", true);
}