본문 바로가기

Dev/Typescript

타입스크립트 Typescript 클래스

Typescript

// 접근 제한자(Access modifier) - public, private, protected
/*
public - 자식 클래스, 클래스 인스턴스 모두 접근 가능
protected - 자식 클래스에서 접근 가능
private - 해당 클래스 내부에서만 접근 가능
readonly - 읽기만 가능 수정 불가 수정하려면 constructor를 통해 변경해야함
static - 접근하려면 class. 을 사용해야함
*/
class Car {
    color: string; // 접근 제한자를 선언하지 않으면 기본 public
    //private color: string // 클래스 내부에서만 사용가능 같은 표현 #color: string
    static wheels: number = 4;
    constructor(color: string) {
        this.color = color;
    }
    start() {
        console.log("start");
        console.log(Car.wheels); // static class. 으로 접근
    }
}

const bmw = new Car("red");

// 추상 class
abstract class Car2 {
    abstract doSomething():void; // 추상 클래스 내에 추상 메소드는 반드시 상속받는 쪽에서 정의를 해줘야함
}

class Bmw extends Car2 {
    doSomething() {
        alert(3);
    }
}