[typescript] 추상 클래스를 활용하여 어떤 규약을 정의하는가?

추상 클래스는 일종의 템플릿으로, 공통적인 속성과 메서드를 정의하여 서브 클래스에서 필요한 기능을 구현하도록 하는데 사용됩니다. 이러한 특징을 활용하여 어떤 규약을 정의할 수 있습니다.

추상 클래스의 기본 구조

추상 클래스는 abstract 키워드로 정의되며, 추상 메서드를 포함할 수 있습니다. 이 추상 메서드는 구현이 없는 메서드로, 서브 클래스에서 구현해야 합니다.

abstract class Shape {
    abstract calculateArea(): number;
}

위의 예제에서 Shape 클래스는 calculateArea 메서드를 추상 메서드로 가지고 있습니다. 이 클래스를 상속받는 서브 클래스는 calculateArea 메서드를 반드시 구현해야 합니다.

규약의 정의

추상 클래스를 활용하여 어떤 규약을 정의할 수 있습니다. 예를 들어, 다양한 도형들을 나타내는 클래스들이 모두 특정한 메서드를 구현해야 하는 경우 추상 클래스를 사용하여 규약을 정의할 수 있습니다.

abstract class Shape {
    abstract calculateArea(): number;
    abstract calculatePerimeter(): number;
}

위의 예제에서는 Shape 클래스에 calculatePerimeter 메서드를 추가하여 모든 도형 클래스가 해당 메서드를 구현해야 한다는 규약을 정의했습니다.

결론

추상 클래스를 활용하여 규약을 정의하면, 코드의 일관성을 유지하고 중복을 줄일 수 있습니다. 또한, 서브 클래스에서 규약에 맞게 메서드를 구현하도록 강제할 수 있어서 안정적인 프로그래밍을 할 수 있습니다.

이상으로 추상 클래스를 활용하여 규약을 정의하는 방법에 대해 알아보았습니다. 부족한 점이 있으면 추가로 물어보세요!