[typescript] 추상 클래스의 장점과 활용 예시

목차


추상 클래스란

추상 클래스는 인스턴스를 직접 생성할 수 없는 클래스로, 다른 클래스들이 공통적으로 가져야할 속성과 메소드를 정의하기 위해 사용됩니다. 추상 클래스는 자체적으로 인스턴스를 생성할 수 없으며, 단지 다른 클래스에서 상속하여 구체화될 목적으로 사용됩니다. TypeScript에서는 abstract 키워드를 사용하여 클래스를 추상 클래스로 지정할 수 있습니다.

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

위 예시에서 Animal 클래스는 추상 클래스로 지정되었고, makeSound 메소드는 추상 메소드로 정의되었습니다.

추상 클래스의 장점

추상 클래스의 활용 예시

예를 들어 동물을 다루는 프로그램을 작성한다고 가정해봅시다. 개와 고양이는 모두 동물이기 때문에 공통적으로 소리를 내는 기능을 가지고 있습니다. 이때 추상 클래스를 사용하여 다음과 같이 구현할 수 있습니다.

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

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

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

위 예제에서 Animal 클래스는 인스턴스를 생성할 수 없는 추상 클래스로 정의되었고, DogCat 클래스는 Animal 클래스를 상속하여 구현되었습니다. 이를 통해 동물들이 반드시 가져야 하는 기능을 보장할 수 있습니다.

결론

추상 클래스는 다른 클래스들이 공통적으로 가져야할 속성과 메소드를 효과적으로 관리하고, 코드의 일관성과 유지보수성을 향상시키는 데에 도움을 줍니다. 따라서 프로그램을 구조화하고 유지보수하기 좋은 코드를 작성하기 위해 추상 클래스를 적절히 활용하는 것이 중요합니다.