[typescript] 클래스 외부에서 protected 접근 제어자 사용하기
클래스의 멤버 변수나 메서드를 일부 외부에서 접근할 수 있도록 하고 싶을 때, protected
접근 제어자를 사용할 수 있습니다. 이는 해당 클래스를 상속한 하위 클래스에서는 해당 멤버에 접근할 수 있지만, 일반적으로 클래스 외부에서는 접근할 수 없습니다.
다음은 간단한 TypeScript 클래스의 예제입니다.
class Person {
protected name: string;
constructor(name: string) {
this.name = name;
}
}
class Employee extends Person {
private department: string;
constructor(name: string, department: string) {
super(name);
this.department = department;
}
public getDetails() {
return `Name: ${this.name}, Department: ${this.department}`;
}
}
let employee = new Employee("John Doe", "Engineering");
console.log(employee.name); // 에러: 'name'은 Employee 외부에서 접근할 수 없습니다.
위 예제에서 name
멤버 변수는 Person
클래스에서 protected
로 선언되었습니다. 따라서 Employee
클래스에서는 name
에 접근할 수 있지만, 클래스 외부에서는 접근할 수 없습니다.
이를 통해, protected
접근 제어자를 사용하여 클래스 멤버의 일부 외부 접근을 제어할 수 있음을 확인할 수 있습니다.
더 자세한 내용은 TypeScript 공식 문서를 참고해 주세요.