제네릭에 대해서 좀 이해를 못하고 있었는데 오늘 이해를 좀 하게된 것 같아 이해한 내용을 부족하지만 공유해봅니다!
function getSize(arr:number[]):number{
return arr.length;
}
function getSize(arr:string[]):number{
return arr.length;
}
만약 getSize의 입력타입을 int나 string으로 미리 정해놓는다면, getSize함수를 여러 입력 타입에 대해서 재사용하려고 할때 오버로드를 해야지만 됩니다.
function getSize<T>(arr:T[]):number{
return arr.length;
}
하지만, 위와 같이 를 사용해서 제내릭으로 표현하면 사용할때 타입을 전달해주기만 하면 됩니다.
가령
let arr : number[] = [1,2,3];
console.log(getSize<number>(arr));
let arr2 : string[] = ['a','b','c'];
console.log(getSize<string>(arr));
이런 식으로 사용 가능합니다(위 코드는 typescript입니다)