[typescript] private 접근 제어자와 메서드 오버라이딩

이번 글에서는 TypeScript에서 private 접근 제어자를 사용하여 메서드 오버라이딩을 어떻게 구현하는지에 대해 알아보겠습니다.

private 접근 제어자

private 접근 제어자를 사용하면 해당 멤버가 클래스 내부에서만 접근 가능하도록 제한할 수 있습니다. 즉, 해당 클래스 외부에서는 접근할 수 없습니다.

아래는 private 접근 제어자가 사용된 예시입니다.

class Base {
    private greet(): void {
        console.log("Hello");
    }
}

class Derived extends Base {
    // private 메서드를 오버라이딩할 수 없음
    private greet(): void {
        console.log("Hi");
    }
}

위의 코드에서는 Derived 클래스가 Base 클래스의 private 메서드인 greet 메서드를 오버라이딩하려고 시도했지만, private 멤버는 클래스 외부에서 접근할 수 없기 때문에 오버라이딩이 불가능합니다.

메서드 오버라이딩

메서드 오버라이딩은 자식 클래스에서 부모 클래스의 메서드를 재정의하는 것을 말합니다. 이를 통해 자식 클래스에서 부모 클래스의 메서드를 확장하거나 변경할 수 있습니다.

아래는 메서드 오버라이딩을 구현한 예시입니다.

class Base {
    public greet(): void {
        console.log("Hello");
    }
}

class Derived extends Base {
    public greet(): void {
        console.log("Hi");
    }
}

private 접근 제어자와 메서드 오버라이딩

private 접근 제어자를 사용하는 경우, 해당 멤버는 외부에서 접근할 수 없기 때문에 자식 클래스에서 오버라이딩이 불가능합니다. 이러한 특성을 이해하고 적절하게 사용하면서 객체지향 프로그래밍을 할 수 있습니다.

이상으로 TypeScript에서 private 접근 제어자와 메서드 오버라이딩에 대해 알아보았습니다. 이를 통해 객체지향 프로그래밍의 핵심 원칙을 적용하여 안정적이고 확장 가능한 코드를 작성하는데 도움이 될 것입니다.