[typescript] 타입 추론과 다형성
  1. 타입 추론
  2. 다형성

1. 타입 추론

타입스크립트에서는 변수를 선언할 때 해당 변수의 타입을 명시적으로 지정하지 않아도 컴파일러가 타입을 추론할 수 있습니다. 이를 타입 추론이라고 합니다.

예를 들어, 다음 코드를 살펴봅시다.

let name = "John";

위 코드에서는 name 변수의 타입을 명시하지 않았지만, TypeScript는 변수에 할당된 값의 타입을 분석하여 name 변수를 string 타입으로 추론합니다.

특히, 함수의 매개변수에 대해서도 마찬가지로 타입 추론이 이루어집니다.

function sayHello(message: string) {
  console.log(`Hello, ${message}!`);
}

위 코드에서 TypeScript는 message 매개변수의 타입을 명시했지만, 만약 명시하지 않았다면 해당 매개변수의 타입도 인자값을 통해 추론할 수 있습니다.


2. 다형성

타입스크립트에서는 인터페이스와 제네릭을 활용하여 다형성을 구현할 수 있습니다. 다형성은 동일한 인터페이스나 클래스를 이용하여 다양한 타입을 다루는 것을 말합니다.

예를 들어, 다음과 같이 제네릭을 사용하여 Array 타입의 다형성을 구현할 수 있습니다.

function getFirstElement<T>(arr: T[]): T {
  return arr[0];
}

let strArr = ["apple", "banana", "cherry"];
let firstElement = getFirstElement(strArr); // firstElement의 타입은 string으로 추론됨

위 코드에서 getFirstElement 함수는 입력으로 받는 배열의 요소들의 타입에 따라 다양한 반환값을 가질 수 있습니다. 이를 통해 코드의 재사용성과 유지보수성을 높일 수 있습니다.


타입 추론과 다형성은 TypeScript의 강력한 기능으로, 코드를 더욱 안전하고 유연하게 작성할 수 있도록 도와줍니다.

참고 자료