[typescript] 클래스 상속이란?

클래스는 객체지향 프로그래밍에서 중요한 요소로, TypeScript에서도 클래스를 활용하여 객체를 모델링하고 코드를 구조화할 수 있습니다. 이때 클래스 상속은 중복 코드를 줄이고 코드 재사용성을 높일 수 있는 중요한 기능입니다.

이번 포스트에서는 TypeScript에서 클래스 상속의 기본 개념과 활용 방법에 대해 알아보겠습니다.

클래스 상속의 기본 개념

클래스 상속은 부모 클래스의 속성과 메서드를 자식 클래스가 물려받아 재활용하는 개념입니다. 부모 클래스는 상위 클래스 혹은 슈퍼 클래스라고도 불리며, 자식 클래스는 하위 클래스 또는 서브 클래스라고 불립니다. TypeScript에서는 extends 키워드를 사용하여 클래스 상속을 구현합니다.

아래는 간단한 예제로, Animal이라는 부모 클래스를 상속받아 Dog라는 자식 클래스를 만드는 코드입니다.

class Animal {
  name: string;

  constructor(name: string) {
    this.name = name;
  }

  move(distanceInMeters: number = 0) {
    console.log(`${this.name} moved ${distanceInMeters}m.`);
  }
}

class Dog extends Animal {
  bark() {
    console.log('Woof! Woof!');
  }
}

위 코드에서 Dog 클래스는 Animal 클래스를 상속받았으며, bark 메서드를 추가로 가지고 있습니다.

클래스 상속의 활용 방법

클래스 상속은 코드의 재사용성을 높여주며, 유지보수성을 향상시킵니다. 또한 상속을 통해 다형성(polymorphism)을 구현할 수 있어, 유연하고 확장 가능한 코드를 작성할 수 있습니다.

let dog = new Dog('Bobby');
dog.bark(); // Woof! Woof!
dog.move(10); // Bobby moved 10m.

위 예제에서 Dog 클래스는 Animal 클래스의 move 메서드를 호출할 수 있음을 알 수 있습니다.

이를 통해 TypeScript에서 클래스 상속을 활용하여 객체지향적인 프로그래밍을 구현할 수 있습니다.

이상으로 TypeScript 클래스 상속에 대한 기본적인 내용을 살펴보았습니다. 클래스 상속을 적절히 활용하여 유연하고 확장 가능한 코드를 작성하는 것이 중요합니다. 본 포스트가 도움이 되었기를 바랍니다.

References: