[typescript] protected 접근 제어자와 객체 생성
이번 포스팅에서는 TypeScript에서 protected
접근 제어자를 다루고, 해당 클래스의 객체를 어떻게 생성하는지 알아보겠습니다.
protected 접근 제어자
protected
접근 제어자는 해당 클래스 또는 파생 클래스에서만 접근할 수 있는 멤버를 지정합니다. 즉, 해당 클래스를 상속받은 하위 클래스에서는 접근이 가능하지만, 외부에서는 접근할 수 없습니다.
예를 들어, 아래 예제에서 Person
클래스의 name
속성은 protected
로 지정되어 있으므로, Employee
클래스에서 접근할 수 있지만, 외부에서는 접근할 수 없습니다.
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 `${this.name} works in ${this.department} department`;
}
}
const emp = new Employee('John', 'IT');
console.log(emp.getDetails()); // 출력: John works in IT department
console.log(emp.name); // 오류: 'name'은 'Person' 클래스 내에서만 접근할 수 있습니다
객체 생성
위 예제에서 protected
로 선언된 name
속성은 Employee
클래스 내부에서는 접근이 가능합니다. 그러므로 Employee
클래스의 객체를 생성하고 해당 객체의 메소드를 호출하여 protected
속성에 접근하는 방법을 사용할 수 있습니다.
위의 예제에서 Employee
클래스의 getDetails
메소드를 호출하여 protected
로 지정된 name
속성에 접근하는 방법을 확인할 수 있습니다.
이러한 방식으로, protected
접근 제어자를 사용하여 클래스의 내부 구현을 보호하면서도 상속을 통해 하위 클래스에서 접근할 수 있도록 할 수 있습니다.
이상으로 TypeScript에서 protected
접근 제어자와 객체 생성에 대해 알아보았습니다!
더 많은 정보는 TypeScript 공식 문서를 참조하세요.