[typescript] 클래스 외부에서 멤버 메서드에 접근 제어자 사용하기

TypeScript에서는 클래스 멤버 메서드에 접근 제어자를 사용하여 해당 멤버에 대한 접근 권한을 제어할 수 있습니다. 접근 제어자는 public, private, protected 중 하나를 선택하여 사용할 수 있으며, 이를 통해 클래스의 내부 및 외부에서의 멤버 접근을 조절할 수 있습니다.

1. public 접근 제어자

public 접근 제어자는 클래스 멤버에 대한 기본적인 접근 권한을 의미합니다. 해당 멤버가 public으로 선언되면 클래스 외부에서도 해당 멤버에 접근할 수 있습니다.

예시:

class MyClass {
    public myMethod() {
        // 메서드 로직 작성
    }
}

const myInstance = new MyClass();
myInstance.myMethod(); // 외부에서 멤버 메서드 호출

2. private 접근 제어자

private 접근 제어자를 사용하면 해당 멤버는 클래스 외부에서 접근할 수 없으며, 오직 클래스 내부에서만 접근할 수 있습니다.

예시:

class MyClass {
    private myMethod() {
        // 메서드 로직 작성
    }
}

const myInstance = new MyClass();
myInstance.myMethod(); // 컴파일 에러: 외부에서 접근 불가

3. protected 접근 제어자

protected 접근 제어자는 해당 멤버를 클래스 내부 및 파생 클래스에서 접근할 수 있도록 허용합니다. 외부에서는 접근할 수 없습니다.

예시:

class MyClass {
    protected myMethod() {
        // 메서드 로직 작성
    }
}

class MyDerivedClass extends MyClass {
    someMethod() {
        this.myMethod(); // 내부 또는 파생 클래스에서 호출 가능
    }
}

const myInstance = new MyClass();
myInstance.myMethod(); // 컴파일 에러: 외부에서 접근 불가

마무리

위의 예시를 통해 TypeScript에서 클래스 멤버 메서드에 접근 제어자를 사용하는 방법에 대해 알아보았습니다. 각 접근 제어자를 적절히 활용하여 클래스 내부의 정보 은닉 및 보호에 도움이 될 수 있습니다.

더 많은 정보를 원하시면 TypeScript 공식 문서를 참고하시기 바랍니다.