[typescript] 상속 관계에서의 접근 제어자 변경
상속 관계에서는 부모 클래스의 속성과 메서드를 자식 클래스에서 재활용할 수 있습니다. 하지만 TypeScript에서는 부모 클래스에서 정의한 속성과 메서드의 접근 제어자를 자식 클래스에서 변경할 수 있는데, 이러한 기능을 사용하여 코드의 유지보수성을 높일 수 있습니다.
상속과 접근 제어자
TypeScript에서의 접근 제어자에는 public
, protected
, private
세 가지가 있습니다. 각각의 의미는 다음과 같습니다.
public
: 어디서든 접근 가능protected
: 자식 클래스에서만 접근 가능private
: 클래스 내에서만 접근 가능
예시
다음은 상속 관계에서 접근 제어자가 어떻게 작용하는지 보여주는 간단한 예시 코드입니다.
class Parent {
private x: number = 10;
protected y: number = 20;
public z: number = 30;
}
class Child extends Parent {
constructor() {
super();
// 부모 클래스의 private 속성에는 접근할 수 없음
// this.x = 100; // Error
// 부모 클래스의 protected 속성은 접근 가능
this.y = 200;
// 부모 클래스의 public 속성은 접근 가능
this.z = 300;
}
}
이 예시에서 Child
클래스에서 Parent
클래스의 각 속성에 대해 어떻게 접근할 수 있는지를 보여줍니다. x
의 경우 private이므로 접근할 수 없지만, y
와 z
는 각각 protected와 public이므로 자식 클래스에서 접근 가능합니다.
결론
TypeScript에서 상속 관계에서의 접근 제어자를 변경하여 부모 클래스의 속성과 메서드를 보다 유연하게 활용할 수 있습니다. 이를 통해 코드의 재사용성을 높이고, 보다 안정적인 소프트웨어를 개발할 수 있습니다.
자세한 내용은 TypeScript 공식 문서를 참고하시기 바랍니다.