// overloading type Config = { path: string, state: number } type Push = { (path: string): void, // call signature을 다르게 표현하는 방법 (config: Config): void // Config 타입을 오버로딩 해서 파라미터를 string(path) 하나만 받을 수도 있고 Config타입에 맞게 받을수 있음 } const push: Push = (config) => { if (typeof config === "string") { console.log(config) } else { console.log(config.state) } } type Add = { (a:number, b:number) : number (a..