[typescript] 추상 클래스의 개념과 용도

추상 클래스는 추상 메서드를 포함하는 클래스로, 객체의 설계를 위한 베이스 역할을 합니다. 이번 블로그에서는 추상 클래스의 개념과 주요한 용도에 대해 살펴보겠습니다.

추상 클래스란 무엇인가?

추상 클래스는 하나 이상의 추상 메서드를 포함하는 클래스로, 추상 메서드는 본문이 없는 메서드입니다. 추상 클래스는 직접적으로 객체를 생성할 수 없지만, 상속을 통해 자식 클래스에서 이를 구현하도록 유도할 수 있습니다.

TypeScript에서 추상 클래스는 abstract 키워드를 사용하여 정의됩니다. 추상 메서드는 함수 이름과 파라미터의 타입을 지정하지만, 구현은 하지 않습니다.

아래는 TypeScript에서 추상 클래스 및 추상 메서드를 정의하는 간단한 예제입니다.

abstract class Animal {
  abstract makeSound(): void;
}

class Dog extends Animal {
  makeSound() {
    console.log('멍멍');
  }
}

class Cat extends Animal {
  makeSound() {
    console.log('야옹');
  }
}

추상 클래스의 용도

1. 설계 시 명세화

추상 클래스를 사용하면 객체의 기본적인 동작을 명세화하여 코드의 일관성을 유지할 수 있습니다. 추상 클래스를 상속받는 클래스는 상속받은 추상 메서드를 반드시 구현해야 합니다.

2. 다형성 지원

같은 추상 클래스를 상속받은 다양한 클래스들은 동일한 형태로 이용 가능하며, 이는 다형성을 지원하여 유연한 설계를 가능케 합니다.

3. 코드 유지보수성 향상

추상 클래스를 사용하면 기능의 추가 및 변경이 용이해지며, 전체 코드의 유지보수성을 향상시킬 수 있습니다.

추상 클래스를 적절히 활용하여 프로그램을 객체 지향적으로 설계함으로써 유지보수성이 뛰어나고 일관된 코드를 작성할 수 있습니다.

이상으로 추상 클래스의 개념과 용도에 대해 알아보았습니다. 감사합니다.


참고 문헌: