[typescript] 접근 제어자를 이용한 객체의 캡슐화
Typescript에서 캡슐화는 객체 지향 프로그래밍의 핵심 개념 중 하나입니다. 캡슐화는 객체의 내부 상태를 외부로부터 보호하고, 해당 객체에 대한 직접적인 접근을 제한하는 기법입니다. Typescript는 이를 가능하게 하는 접근 제어자를 제공합니다.
1. 접근 제어자란?
접근 제어자는 클래스 멤버의 접근을 제어하는 데 사용됩니다. Typescript에서는 세 가지의 접근 제어자를 지원합니다.
- public: 어디서든 접근이 가능한 기본 제어자입니다. 클래스의 모든 부분에서 접근할 수 있습니다.
- protected: 파생 클래스에서 접근 가능하며, 외부에서는 접근할 수 없습니다.
- private: 클래스 내부에서만 접근 가능하며, 외부에서는 접근할 수 없습니다.
2. 캡슐화 구현하기
아래는 Typescript에서 접근 제어자를 활용하여 캡슐화를 구현하는 간단한 예제입니다.
class Car {
private speed: number;
constructor() {
this.speed = 0;
}
public accelerate(increment: number): void {
this.speed += increment;
}
public getSpeed(): number {
return this.speed;
}
}
let myCar = new Car();
myCar.accelerate(50);
console.log(myCar.getSpeed()); // 50
console.log(myCar.speed); // Error: 프로퍼티 'speed'에 접근할 수 없습니다.
위 예제에서 speed
프로퍼티는 private
으로 선언되었기 때문에 클래스 외부에서 접근할 수 없습니다.
3. 결론
접근 제어자를 사용하여 캡슐화를 구현하면 객체의 내부 상태를 보호할 수 있어 안전하고 예측 가능한 코드를 작성할 수 있습니다. 이는 클래스를 보다 견고하고 유지보수하기 쉽게 만들어줍니다.
접근 제어자를 효과적으로 활용하여 객체의 캡슐화를 실현하는 것은 Typescript로 안정적이고 독립적인 코드를 작성하는 데 도움이 됩니다.