저번 시간에는 함수에 사용하는 never 타입에 대해 알아보았습니다. 이번 시간에는 타입스크립트에서의 public, private 키워드에 대해 알아보겠습니다.
클래스의 properties 에도 타입 지정이 가능합니다. 클래스 밖에서 properties 에 접근하는 것을 막으려면 private 키워드를 사용하면 되고, public 은 명시되어 있지 않으면 생략되어 있다고 생각하면 됩니다.
class User {
name: string;
private familyName: string;
constructor(a) {
this.name = a + this.familyName;
}
}
let user1 = new User("park");
console.log(user1.familyName); //error 'familyName' 속성은 private이며 'User' 클래스 내에서만 액세스할 수 있습니다.ts(2341)
private 으로 이루어진 properties 를 클래스 밖에서 수정이 가능하게 하려면, 클래스 안에서 함수를 만들어주면 됩니다.
class User {
name: string;
private familyName: string;
constructor(a) {
this.name = a + this.familyName;
}
public changeName() {
this.familyName = "lee";
}
}
let user1 = new User("park");
user1.changeName();
console.log(user1);
class Person {
constructor(public name: string) {}
}
지금까지 짧게 public과 private 키워드에 대해 알아보았습니다. 다음 시간에는 protected와 static 키워드에 대해 알아보겠습니다.