[typescript] 클래스 내에서 protected 접근 제어자 사용하기
클래스 내에서 protected 접근 제어자를 사용하여 멤버 변수와 메서드를 정의하고, 상속받은 클래스 내에서만 접근할 수 있도록 설정할 수 있습니다.
protected 키워드 사용하기
class Animal {
protected name: string;
protected constructor(name: string) {
this.name = name;
}
}
class Dog extends Animal {
private breed: string;
constructor(name: string, breed: string) {
super(name);
this.breed = breed;
}
public displayDetails() {
// 상속받은 name 멤버 변수에 접근 가능
console.log(`Name: ${this.name}, Breed: ${this.breed}`);
}
}
const dog = new Dog("Buddy", "Labrador");
dog.displayDetails();
위 코드에서 Animal 클래스의 name 멤버 변수와 생성자는 protected로 선언되어 있습니다. Dog 클래스에서 Animal 클래스를 상속받아 name 멤버 변수에 접근할 수 있습니다. 이것은 protected 접근 제어자가 부모 클래스와 그 클래스를 상속받은 자식 클래스에서만 접근할 수 있게 하기 때문입니다.
결론
protected 접근 제어자를 사용하여 상속 관계에 있는 클래스 간에 멤버 변수와 메서드에 접근을 제한할 수 있습니다. 이를 통해 클래스의 내부 동작을 보호하고, 안정성을 유지할 수 있습니다.
참고 자료: