Polymorphism
Polymorphism 배열의 요소를 하나씩 print하기 type SuperPrint = { (arr: number[]):void (arr: boolean[]):void (arr: string[]):void } const superpring: SuperPring = (arr) => { arr.forEach(i => console.log(i)) } superPrint([1, 2, 3, 4]) superPrint([true, false, trune]) superPrint(["a", "b", "c"]) 지금 세 개의 call signatures가 있다. 하지만 다 각 각 존재한다. superPrint([1,2,true,false]) 이 경우도 말이 안되는 것이 아니다. 그러므로 generic을 사용할 것이다..