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 |
댓글