본문 바로가기
프론트엔드/TypeScript

Abstract Class

by step 1 2021. 6. 21.
반응형

Abstract: 완전하지 않은 클래스, new로 바로 선언하여 사용하지 못한다. 사용하기 위해서는 상속받은 다음에 기능을 완성시킨후 사용한다.

 

예제

TS파일

abstract class AbstractPerson {
  protected _name: string = 'Mark';

  // 내용을 구현하지 않는다.
  abstract setname(name: string):void;
}

// 기능이 완성되지 않았기 때문에 에러가 발생한다.
// const p66 = new AbstractPerson();

// 상속하여 사용
class Person66 extends AbstractPerson {
  
  setname(name: string): void {
    console.log(this._name);
    this._name = name;
    console.log(this._name);
  }

}

const p66 = new Person66();
p66.setname("입력 후");

 

컴파일된 JS 파일

"use strict";
class AbstractPerson {
    constructor() {
        this._name = 'Mark';
    }
}
// 기능이 완성되지 않았기 때문에 에러가 발생한다.
// const p66 = new AbstractPerson();
// 상속하여 사용
class Person66 extends AbstractPerson {
    setname(name) {
        console.log(this._name);
        this._name = name;
        console.log(this._name);
    }
}
const p66 = new Person66();
p66.setname("입력 후");

 

화면 확인

반응형

'프론트엔드 > TypeScript' 카테고리의 다른 글

제네릭  (0) 2021.06.22
Class - 상속  (0) 2021.06.21
class - singleton 패턴  (0) 2021.06.21
class - Static Properties 와 Method  (0) 2021.06.21
class - index Signatures  (0) 2021.06.21