Class (클래스)
class Car {
color: string; // 멤버 변수는 미리 선언해줘야 한다.
constructor(color: string) { // 매개변수 type도 선언
this.color = color;
}
start() {
console.log("start");
}
}
const bmw = new Car("red");
1. public 키워드 사용
constructor(public color: string) {}
2. readonly 키워드 사용
constructor(readonly color: string) {}
- 접근 제한자(Access modifier) - public, private, protected
- public: 자식 클래스나 클래스 인스턴스에서 접근이 가능하다, 아무것도 표기하지 않으면 public
- private: 해당 클래스 내부에서만 사용 가능해짐
- protected:
class Car {
name: string = "car"; ( === public name 으로 대체 가능)
color: string;
constructor(color: string) {
this.color = color;
}
start() {
console.log("start");
}
}
class BMW extends Car { // Car class를 상속받은 BMW
constructor(color: string) { // constructor에서 super 호출중
super(color);
}
showName(){ // showName 메서드
console.log(super.name); // 멤버변수 name, 즉 Car의 name이 public 이므로 자식 클래스 내부에서 접근해도 문제없음
}
}
class Car {
private name: string = "car"; // Car 내부에서만 사용 가능
(=== #name: string = "car"; )