[Typescript] 코딩앙마 강의 #6 Class

Yuzu·2023년 5월 21일
1

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 이므로 자식 클래스 내부에서 접근해도 문제없음
    }
}
    
  • private
class Car {
	private name: string = "car"; // Car 내부에서만 사용 가능
    (===   #name: string = "car"; ) 
profile
냐하

0개의 댓글