TypeScript #12 | 추상 클래스와 Interface

HyeonWooGa·2022년 8월 30일
0

TypeScript

목록 보기
13/16

추상 클래스

개요

  • 인스턴스를 생성하지 않고 청사진(블루프린트)만 제공해주는 클래스
  • 원하는 속성과 메서드를 자식 클래스에 강제하는 역할

문제

  • JavaScript 로 변환될때 추상 클래스도 일반 클래스처럼 변환이 됩니다.

문제 해결

  • Interface 는 JavaScript 로 변환되지 않기 때문에, Interface 로 추상 클래스 기능을 구현 해줍니다.

예시

TypeScript 코드

JavaScript 로 변환된 코드


Interface

개요

  • 원하는 속성과 메서드를 특정 클래스에 강제하는 역할
  • 추상 클래스의 역할을 대신하여 Interface 사용시 코드가 가벼워집니다.

방법

  • extends 키워드 대신 implements 키워드를 사용합니다.
  • 생성자가 필요하고, 생성 제한자는 public 키워드를 사용해야 합니다.
  • 복수의 Interfaceimplements 할 수 있습니다.

예시

TypeScript 코드

JavaScript 로 변환된 코드

Type 도 동일하게 추상클래스를 대체 할 수지만 객체와 관련해서는 Interface 를 사용하는 것이 관례입니다.


결론

  • interface 는 두 종류의 객체(class, object) 모양을 특정짓는데 사용합니다.
profile
Aim for the TOP, Developer

0개의 댓글