[typescript] 접근 제어자를 사용한 정보 은닉의 중요성

목차

  1. 정보 은닉의 중요성
  2. TypeScript에서의 접근 제어자
  3. 정보 은닉 구현 예시

1. 정보 은닉의 중요성

정보 은닉은 외부에서 클래스의 내부 상태를 직접 조작할 수 없도록 함으로써 데이터를 보호하고 클래스의 내부 구현을 숨기는 데 중요합니다. 이는 코드의 유지보수성과 안정성을 향상시키며, 클래스의 내부 동작에 대한 의존성을 줄여줍니다.

2. TypeScript에서의 접근 제어자

TypeScript는 public, private, protected 세 가지의 접근 제어자를 지원합니다.

class Example {
    public prop1: string;
    private prop2: number;
    protected prop3: boolean;

    constructor() {
        this.prop1 = 'public';
        this.prop2 = 123;
        this.prop3 = true;
    }
}

위의 예시에서 prop1public으로 선언되어 외부에서도 접근할 수 있지만, prop2prop3은 각각 privateprotected로 선언되어 클래스 외부에서 직접 접근할 수 없습니다.

3. 정보 은닉 구현 예시

정보 은닉을 구현하기 위해서는 주로 private 접근 제어자를 사용하여 클래스의 내부 상태를 보호합니다.

class Account {
    private balance: number;

    constructor(initialBalance: number) {
        this.balance = initialBalance;
    }

    deposit(amount: number) {
        this.balance += amount;
    }

    withdraw(amount: number) {
        if (amount <= this.balance) {
            this.balance -= amount;
        } else {
            console.log('잔액 부족');
        }
    }
}

위의 예시에서 balanceprivate으로 선언되어 외부에서 직접 조작이 불가능하며, depositwithdraw 메서드를 통해 안전하게 상태를 변경할 수 있습니다.

정보 은닉을 통해 클래스의 내부 구현을 보호하고 외부에서의 불필요한 접근을 방지함으로써 안전하고 견고한 코드를 작성할 수 있습니다.

이상으로 TypeScript에서의 정보 은닉과 접근 제어자를 사용한 보안적 프로그래밍에 대해 알아보았습니다.