[typescript] 상속 관계에서의 접근 제어자 변경

상속 관계에서는 부모 클래스의 속성과 메서드를 자식 클래스에서 재활용할 수 있습니다. 하지만 TypeScript에서는 부모 클래스에서 정의한 속성과 메서드의 접근 제어자를 자식 클래스에서 변경할 수 있는데, 이러한 기능을 사용하여 코드의 유지보수성을 높일 수 있습니다.

상속과 접근 제어자

TypeScript에서의 접근 제어자에는 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이므로 접근할 수 없지만, yz는 각각 protected와 public이므로 자식 클래스에서 접근 가능합니다.

결론

TypeScript에서 상속 관계에서의 접근 제어자를 변경하여 부모 클래스의 속성과 메서드를 보다 유연하게 활용할 수 있습니다. 이를 통해 코드의 재사용성을 높이고, 보다 안정적인 소프트웨어를 개발할 수 있습니다.

자세한 내용은 TypeScript 공식 문서를 참고하시기 바랍니다.