[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
클래스는 인스턴스를 생성할 수 없는 추상 클래스로 정의되었고, Dog
와 Cat
클래스는 Animal
클래스를 상속하여 구현되었습니다. 이를 통해 동물들이 반드시 가져야 하는 기능을 보장할 수 있습니다.
결론
추상 클래스는 다른 클래스들이 공통적으로 가져야할 속성과 메소드를 효과적으로 관리하고, 코드의 일관성과 유지보수성을 향상시키는 데에 도움을 줍니다. 따라서 프로그램을 구조화하고 유지보수하기 좋은 코드를 작성하기 위해 추상 클래스를 적절히 활용하는 것이 중요합니다.