본문 바로가기
Frontend/TypeScript(완)

[TS] TS연습하기9 (public, private, protected, static)

by VictorMeredith 2023. 4. 12.

class ProtectedPractice {
  protected x:number = 10;
  static y:number = 50; //static 키워드는 부모class에 직접 부여됨(자식들도 못씀)
  private static z:number = 100; //static은 다른 키워드랑 병합이 가능하다.
}

class NewUser extends ProtectedPractice{
  public 변경():void{
    //protected는 x 사용 가능하다
    //private는 x 사용 불가능하다
    this.x = 20
  }
}

const newUSER = new NewUser()
newUSER.변경(); //protected라서 접근 가능
console.log(newUSER);
console.log(`부모는 static 사용 가능하다 : ${ProtectedPractice.y}`)

 

1. public :

클래스 멤버에 대한 접근을 제한하지 않습니다. 클래스의 인스턴스를 통해 해당 멤버에 액세스할 수 있으며, 클래스 외부에서도 액세스할 수 있습니다. TypeScript에서는 멤버에 접근 제어자를 지정하지 않으면 기본적으로 public으로 간주합니다.

 

2. private :

클래스 멤버가 해당 클래스 내에서만 액세스할 수 있음을 나타냅니다. 클래스의 인스턴스를 통해 해당 멤버에 액세스하려고 하면 오류가 발생합니다.

 

3. protected :

private과 유사하지만, 해당 클래스와 파생된 하위 클래스에서 액세스할 수 있습니다. 클래스 외부에서는 여전히 액세스할 수 없습니다.

 

4. static :

클래스의 인스턴스가 아닌 클래스 자체에 속한 멤버임을 나타냅니다. static 멤버는 클래스 이름을 통해 액세스할 수 있으며, 클래스의 인스턴스를 통해 액세스할 수 없습니다.

'Frontend > TypeScript(완)' 카테고리의 다른 글

[TS] TS연습하기11 : React와 타입스크립트(TSX)  (0) 2023.04.13
[TS] TS연습하기10  (0) 2023.04.13
[TS] TS연습하기8  (0) 2023.04.12
[TS] TS연습하기7  (0) 2023.04.12
[TS] TS연습하기6  (0) 2023.04.12

댓글