[typescript] 추상 클래스를 상속하여 자식 클래스를 만드는 방법

TypeScript에서는 추상 클래스를 사용하여 공통된 속성과 메서드를 정의하고 이를 상속받아 자식 클래스를 만들 수 있습니다. 이를 통해 코드의 재사용성을 높이고 일관성을 유지할 수 있습니다. 아래는 추상 클래스를 상속하여 자식 클래스를 만드는 간단한 예제입니다.

추상 클래스 정의하기

우선 추상 클래스를 선언합니다. 추상 클래스는 abstract 키워드를 사용하여 정의됩니다.

abstract class Animal {
  abstract makeSound(): void; // 추상 메서드
  move(): void {
    console.log('roaming the earth');
  }
}

위 예제에서 Animal 추상 클래스는 makeSound 추상 메서드와 move 메서드를 포함하고 있습니다.

추상 클래스를 상속하는 자식 클래스 만들기

이제 위에서 정의한 추상 클래스를 상속하여 실제 동물들의 자식 클래스를 만들어보겠습니다.

class Dog extends Animal {
  makeSound(): void {
    console.log('Woof! Woof!');
  }
}

class Cat extends Animal {
  makeSound(): void {
    console.log('Meow! Meow!');
  }
}

Dog 클래스와 Cat 클래스는 Animal 추상 클래스를 상속받았으며, 각각 makeSound 메서드를 구현하고 있습니다.

사용하기

이제 위에서 만든 자식 클래스들을 사용해봅시다.

let dog = new Dog();
dog.makeSound(); // 출력: Woof! Woof!
dog.move(); // 출력: roaming the earth

let cat = new Cat();
cat.makeSound(); // 출력: Meow! Meow!
cat.move(); // 출력: roaming the earth

마무리

추상 클래스와 상속을 이용하여 TypeScript에서의 객체 지향 프로그래밍을 보다 효율적으로 구현할 수 있습니다. 공통된 특성을 가진 클래스들을 추상 클래스로 정의하고, 이를 상속받아 실제 동작을 구현하는 방법은 코드의 가독성과 유지보수에 도움이 됩니다.