[typescript] protected 접근 제어자의 활용 방법
이 글에서는 protected 접근 제어자를 TypeScript에서 어떻게 활용하는지에 대해 알아보겠습니다.
protected 접근 제어자란?
protected 접근 제어자는 부모 클래스에 의해 파생된 클래스 내에서만 접근할 수 있는 멤버를 지정합니다. 즉, 상속된 클래스 내에서만 접근할 수 있도록 제한하는 역할을 합니다.
protected 접근 제어자의 활용
protected 접근 제어자를 가진 멤버는 파생된 클래스에서만 접근이 가능하기 때문에, 다음과 같은 상황에서 유용하게 활용될 수 있습니다.
1. 메서드와 속성의 보호
protected 접근 제어자를 사용하면 해당 멤버를 외부에서 직접 접근하는 것을 제한할 수 있습니다. 이를 통해 부모 클래스의 멤버를 파생된 클래스에서만 사용할 수 있도록 보호할 수 있습니다.
class Animal {
protected sound: string;
protected makeSound() {
console.log(this.sound);
}
}
class Dog extends Animal {
constructor() {
super();
this.sound = "woof";
}
public bark() {
this.makeSound();
}
}
const dog = new Dog();
dog.bark(); // "woof" 출력
dog.makeSound(); // 에러 발생: "makeSound"에 접근할 수 없음
2. 상속 관계의 유연한 관리
protected 접근 제어자를 사용하면 부모 클래스의 내부 구현을 파생된 클래스에서도 활용할 수 있습니다. 이를 통해 상속 관계를 유연하게 관리할 수 있습니다.
결론
protected 접근 제어자는 부모 클래스와 파생된 클래스 간의 상속 관계를 보호하고 유연하게 관리할 수 있도록 도와줍니다. 이를 통해 안전한 상속 구조와 모듈화된 코드를 구현할 수 있습니다.