[typescript] 클래스 내에서 protected으로 지정한 변수에 접근하기

클래스 내에서 protected으로 지정된 변수에 접근하는 방법에 대해 알아보겠습니다.

protected 키워드

protected 키워드는 해당 변수나 메서드가 선언된 클래스와 해당 클래스를 상속한 하위 클래스에서 접근할 수 있도록 지정합니다. 이는 외부에서는 접근할 수 없지만, 상속 관계에 있는 클래스에서는 접근할 수 있다는 것을 의미합니다.

클래스 내에서 protected 변수에 접근하기

아래의 예제를 통해 클래스 내에서 protected로 지정된 변수에 접근하는 방법을 살펴보겠습니다.

class Animal {
  protected name: string;

  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() {
    console.log(`Name: ${this.name}, Breed: ${this.breed}`);
  }
}

const dog = new Dog('Max', 'Labrador');
dog.displayDetails(); // Output: Name: Max, Breed: Labrador

위 예제에서 Animal 클래스의 name 변수는 protected로 선언되어 있어서 Dog 클래스에서 접근할 수 있습니다.

결론

protected 키워드는 상속받은 하위 클래스에서 부모 클래스의 변수에 접근할 수 있도록 하는 중요한 키워드입니다. 이를 통해 상속 관계에서의 정보 은닉과 보안을 유지할 수 있습니다.


참고자료: