C#과 Java 같은 언어에서, 재사용 가능한 컴포넌트를 생성하는 도구상자의 주요 도구 중 하나는 제네릭입니다, 즉, 단일 타입이 아닌 다양한 타입에서 작동하는 컴포넌트를 작성할 수 있습니다. 사용자는 제네릭을 통해 여러 타입의 컴포넌트나 자신만의 타입을 사용할 수 있습니다. -Typescript
// generic 타입 - 1
function getGeneric1<MyType1, MyType2, MyType3>(arg1: MyType1, arg2: MyType2, arg3: MyType3): [MyType3, MyType2, MyType1] {
return [arg3, arg2, arg1];
}
const result4 = getGeneric("철수", 123, true); // 타입 추론이 가능하다. (입력할떄마다 타입이 변한다!)
const result4 = getGeneric1<string, number, boolean>("철수", 123, true); // generic을 사용하면 타입을 지정하고 고정시킬 수 있다.
// generic 타입 - 2
function getGeneric2<T1, T2, T3>(arg1: T1, arg2: T2, arg3: T3): [T3, T2, T1] {
// MyType은 임의로 부여할 수 있다.
return [arg3, arg2, arg1];
}
const result5 = getGeneric2<string, number, boolean>("철수", 123, true);
// generic 타입 - 3
function getGeneric3<T, U, V>(arg1: T, arg2: U, arg3: V): [V, U, T] {
// MyType은 임의로 부여할 수 있다.
return [arg3, arg2, arg1];
}
const result6 = getGeneric3<string, number, boolean>("철수", 123, true);
// generic 타입 - 4
function getGeneric4<T, U, V>(arg1: T, arg2: U, arg3: V): [V, U, T] {
// MyType은 임의로 부여할 수 있다.
return [arg3, arg2, arg1];
}
const result7 = getGeneric4<string, number, boolean>("철수", 123, true);