현재 this는 암시적으로 any 타입이기 때문에 오류를 발생시킨다.
타입 스크립트에서는 this에 대한 타입을 작성하고
함수의 첫번째 매개변수 자리에 this의 타입을 지정해줄 수 있다.
다음 예제에서는 로직은 동일하고 타입만 다른 함수를 여러번 선언하고 있다.
하지만 자바스크립트 관점에서는 이 함수는 동일한 함수이므로 반복해서 선언 할 필요가 없다.
타입을 string | number
로 선언해도 문제가 발생한다.
따라서 함수 오버로딩을 통해 타입의 선언을 여러개로 적재할 수 있다.
interface의 메소드에서도 함수 오버로딩 사용이 가능하다.