TypeScript

추상 클래스

KimJye 2019. 10. 30. 18:30

class 키워드 대신 abstract class 키워드를 사용해 추상 클래스를 선언할 수 있다.

일반 클래스는 extends 키워드를 사용해 추상 클래스를 확장할 수 있다.

추상 클래스는 인스턴스화가 불가능하다는 점에서 일반 클래스와 다르다.

또한 추상 클래스는 구현을 일부 포함할 수 있다는 점에서 인터페이스와 다르다.

공식 문서의 예제를 보자.

    abstract class Animal {
        move(): void {
            console.log("roaming the earth...");
        }
        abstract makeSound(): void;
    }

**가상 클래스를 확장하는 서브 클래스는 슈퍼 클래스의 모든 가상 메소드를 구현해야 한다**