[typescript] 상속 관계에서의 멤버 변수에 접근하기

상속 관계에서 자식 클래스가 부모 클래스의 멤버 변수에 접근하려면 어떻게 해야 할까요? TypeScript를 사용하여 이러한 상황을 처리하는 방법에 대해 알아보겠습니다.

부모 클래스 정의하기

먼저, 부모 클래스를 정의해 보겠습니다. 다음은 Person 부모 클래스의 코드 예시입니다.

class Person {
    protected name: string;

    constructor(name: string) {
        this.name = name;
    }
}

위 코드에서 name 멤버 변수는 protected 접근 제한자를 사용하여 정의되었습니다. 이는 해당 멤버 변수가 상속된 클래스에서 접근이 가능하다는 것을 의미합니다.

자식 클래스에서 부모 클래스 멤버 변수에 접근

이제 Person 클래스를 상속받는 Employee 자식 클래스를 정의하고, 부모 클래스의 name 멤버 변수에 접근해 보겠습니다.

class Employee extends Person {
    private department: string;

    constructor(name: string, department: string) {
        super(name);
        this.department = department;
    }

    public getDetails(): string {
        return `${this.name} works in ${this.department} department`;
    }
}

위의 Employee 클래스에서 super(name)을 사용하여 부모 클래스의 생성자를 호출하여 name 멤버 변수를 초기화하고, getDetails() 메서드에서 this.name으로 부모 클래스의 name 멤버 변수에 접근하고 있습니다.

이제 Employee 클래스의 인스턴스를 생성하고 getDetails() 메서드를 호출하면 부모 클래스의 name 멤버 변수에 접근하여 정보를 얻을 수 있습니다.

이것으로 TypeScript에서 상속 관계에서의 멤버 변수에 접근하는 방법에 대해 알아보았습니다.

자세한 내용은 TypeScript 공식 문서를 참고할 수 있습니다.