[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 공식 문서를 참고하시기 바랍니다.