[typescript] 접근 제어자를 이용한 객체의 캡슐화

Typescript에서 캡슐화는 객체 지향 프로그래밍의 핵심 개념 중 하나입니다. 캡슐화는 객체의 내부 상태를 외부로부터 보호하고, 해당 객체에 대한 직접적인 접근을 제한하는 기법입니다. Typescript는 이를 가능하게 하는 접근 제어자를 제공합니다.

1. 접근 제어자란?

접근 제어자는 클래스 멤버의 접근을 제어하는 데 사용됩니다. Typescript에서는 세 가지의 접근 제어자를 지원합니다.

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로 안정적이고 독립적인 코드를 작성하는 데 도움이 됩니다.

참고 문헌