[typescript] 다른 클래스의 멤버 변수에 접근 제어자로 접근하기
TypeScript에서는 클래스 간 멤버 변수에 접근할 때, 접근 제어자를 사용하여 해당 멤버 변수의 가시성을 설정할 수 있습니다. 이를 통해, 클래스 간의 의존성을 최소화하고 데이터 캡슐화를 보장할 수 있습니다.
접근 제어자
TypeScript에서는 세 가지의 접근 제어자를 제공합니다.
- public: 어떤 클래스의 인스턴스에서도 해당 멤버에 접근할 수 있도록 설정합니다. (기본 값)
- protected: 해당 클래스와 그 클래스를 상속받은 하위 클래스에서만 해당 멤버에 접근할 수 있도록 설정합니다.
- private: 해당 클래스 내에서만 해당 멤버에 접근할 수 있도록 설정합니다.
예시
아래 코드는 Car
클래스와 Engine
클래스가 있을 때, Car
클래스에서 Engine
클래스의 type
멤버 변수에 접근하는 예시입니다.
class Engine {
private type: string;
constructor(type: string) {
this.type = type;
}
}
class Car {
private engine: Engine;
constructor(engineType: string) {
this.engine = new Engine(engineType);
}
public getEngineType() {
return this.engine.type; // 접근 제어자를 사용하여 Engine 클래스의 type 멤버 변수에 접근
}
}
const myCar = new Car('V8');
console.log(myCar.getEngineType()); // 출력: V8
위 코드에서 Car
클래스는 Engine
클래스의 type
멤버 변수에 private
접근 제어자를 사용하여 접근하고 있습니다.
참고 자료: TypeScript Handbook - 접근 제어자
private
접근 제어자를 사용하여 다른 클래스의 멤버 변수에 접근하는 방법을 설명했습니다. 이를 통해 코드의 가시성과 유지보수성을 향상시킬 수 있습니다.