[Generics - 타입스크립트 공식문서 참고] Generic이란 선언 시점이 아니라 생성 시점에 타입을 명시하여 하나의 타입만이 아닌 다양한 타입을 사용할 수 있도록 하는 기법 제네릭 사용 이유 /* type SuperPrint = { (arr: nuber[]):void (arr: boolean[]):void (arr: string[]):void (arr: (number|boolean)[]):void } */ // 위 타입을 제네릭을 활용하면 코드가 간결해지고 재사용성이 높아진다 // 아래는 제네릭 사용 type SuperPrint = { (arr:[]) } const superPrint:SuperPrint = (arr) => { arr.forEach(e => console.log(e)) } supe..