728x90
Abstract Class
추상 클래스(Abstract Class)는 인터페이스와 비슷한 역할을 하면서도 조금 다른 특징을 갖고 있습니다.
추상 클래스는 특정 클래스의 상속 대상이 되는 클래스이며 좀 더 상위 레벨에서 속성, 메서드의 모양을 정의합니다.
abstract class Developer {
abstract coding(): void;
drink(): void {
console.log('drink sth');
}
}
class FrontEndDeveloper extends Developer {
coding(): void {
console.log('develop web');
}
design(): void {
console.log('design web');
}
}
const dev = new Developer(); // error: cannot create an instance of an abstract class
const josh = new FrontEndDeveloper();
josh.coding(); // develop web
josh.drink(); // drink sth
josh.design(); // design web
추상클래스는 일종의 껍데기로서 기능을 제외한 부분을 구현하는 것인데 abstract class에서는 하나 이상의 abstract 메서드가 존재해야합니다.
abstract 키워드가 붙으면 상속 받은 클래스에서 해당 메서드를 반드시 구현해야하는 특성이 있습니다.
이것은 자바에서도 마찬가지인 부분이죠!
728x90
'TS 관련 > TypeScript' 카테고리의 다른 글
[TypeScript] 제네릭(Generics) (0) | 2022.07.22 |
---|---|
[TypeScript] Intersection Type(인터섹션 타입) (0) | 2022.07.21 |
[TypeScript] 접근 제한자(Access Modifiers), Getter와 Setter (0) | 2022.07.20 |
[TypeScript] 생성자(Constructor) (0) | 2022.07.19 |
[TypeScript] Class와 객체(OOP 프로그래밍) (0) | 2022.07.18 |