[typescript] 제네릭 타입과 다형성

타입스크립트는 제네릭 타입다형성을 지원하여, 코드 재사용성을 높이고 유연한 타입 시스템을 제공합니다. 이 기능들은 타입 안정성을 유지하면서 다양한 타입의 데이터를 다룰 수 있도록 도와줍니다.

제네릭 타입

제네릭 타입은 함수나 클래스를 정의할 때, 타입 정보를 파라미터로 전달하여 재사용 가능한 코드를 작성하는 기능입니다.

function identity<T>(arg: T): T {
    return arg;
}

위의 코드에서 T는 제네릭 타입 파라미터를 나타내며, 함수의 매개변수와 반환 값에 모두 사용되었습니다. 이렇게 함으로써, 해당 함수는 호출될 때 전달된 실제 타입에 따라 다양한 데이터를 처리할 수 있습니다.

다형성

타입스크립트의 다형성은 하나의 인터페이스나 부모 클래스를 여러 형태로 구현하거나 상속받을 수 있는 기능을 말합니다. 이를 통해 유연한 코드 구조를 유지할 수 있습니다.

interface Shape {
    draw(): void;
}

class Circle implements Shape {
    draw() {
        console.log("원을 그립니다.");
    }
}

class Square implements Shape {
    draw() {
        console.log("사각형을 그립니다.");
    }
}

위의 예제에서 CircleSquare 클래스는 모두 Shape 인터페이스를 구현하고 있습니다. 따라서, 다형성을 활용하여 동일한 인터페이스를 사용하는 코드에서 각각의 객체를 상황에 맞게 활용할 수 있습니다.

결론

제네릭 타입과 다형성은 타입스크립트의 강력한 기능으로, 타입 안정성을 유지하면서 코드의 재사용성과 유연성을 높일 수 있습니다. 이를 통해 더 안정적이고 확장 가능한 프로그램을 개발할 수 있게 됩니다.

더 많은 정보를 원하시는 경우, TypeScript 공식 문서를 참고하시기 바랍니다.

타입스크립트 공식 문서 - 제네릭

타입스크립트 공식 문서 - 다형성