[typescript] 타입스크립트 추상 클래스를 활용한 상속과 다형성 구현 방법

타입스크립트( TypeScript)는 JavaScript에 타입을 추가하여 정적 타입 검사를 제공하는 프로그래밍 언어입니다. 이번 블로그 포스트에서는 타입스크립트의 추상 클래스를 활용한 상속과 다형성을 구현하는 방법에 대해 알아보겠습니다.

추상 클래스란?

추상 클래스는 인스턴스를 생성할 수 없는 클래스로, 다른 클래스에서 상속받아 사용하기 위해 설계됩니다. 추상 클래스는 abstract 키워드를 사용하여 정의되며, 추상 메서드를 포함할 수 있습니다.

상속과 추상 클래스 활용 예제

아래는 추상 클래스와 이를 상속받아 다형성을 구현하는 TypeScript 예제 코드입니다.

// 추상 클래스 정의
abstract class Animal {
    abstract makeSound(): void;
}

// 추상 클래스를 상속하는 하위 클래스들
class Dog extends Animal {
    makeSound(): void {
        console.log("멍멍");
    }
}

class Cat extends Animal {
    makeSound(): void {
        console.log("야옹");
    }
}

// 다형성 활용
let myPet: Animal;
myPet = new Dog();
myPet.makeSound(); // "멍멍" 출력
myPet = new Cat();
myPet.makeSound(); // "야옹" 출력

위 코드에서 Animal 클래스는 makeSound 메서드를 추상 메서드로 정의하고 있습니다. 이를 상속받는 DogCat 클래스에서는 이 메서드를 구현하여 각각의 동물 소리를 출력하도록 하였습니다. 마지막으로 myPet이라는 변수를 통해 다형성을 활용하여 동적으로 다양한 동물 객체를 가리키고 있습니다.

마무리

타입스크립트에서 추상 클래스와 상속을 활용하면 객체 지향 프로그래밍의 핵심 개념 중 하나인 다형성을 구현할 수 있습니다. 추상 클래스를 이용하여 프로그램의 유지 보수성과 확장성을 높일 수 있으므로, 적절한 상황에서 활용해보시기를 권장합니다.

이상으로 타입스크립트의 추상 클래스를 활용한 상속과 다형성 구현에 대한 내용이었습니다. 감사합니다.

참고: Microsoft TypeScript Handbook - Abstract Classes