[typescript] 클래스 내에서 private 접근 제어자 사용하기

TypeScript에서 클래스 내에서 private 접근 제어자를 사용하여 멤버 변수 및 메서드를 보호할 수 있습니다. private 키워드를 사용하면 해당 멤버에는 클래스 외부에서 접근할 수 없습니다. 이것은 정보 은닉과 캡슐화를 실현하는 데 도움이 됩니다.

아래의 예제는 private 키워드를 사용하여 간단한 클래스 내에서 private 멤버 변수를 정의하고 메서드를 활용하는 방법을 보여줍니다.

class Employee {
    private id: number;
    private name: string;

    constructor(id: number, name: string) {
        this.id = id;
        this.name = name;
    }

    private getDetails(): string {
        return `ID: ${this.id}, Name: ${this.name}`;
    }
}

let emp = new Employee(1, "John Doe");
console.log(emp.id); // 오류: 'id'는 private이며 클래스 'Employee' 외부에선 접근할 수 없음
console.log(emp.name); // 오류: 'name'은 private이며 클래스 'Employee' 외부에선 접근할 수 없음

console.log(emp.getDetails()); // 오류: 'getDetails'는 private이며 클래스 'Employee' 외부에선 접근할 수 없음

위의 예제는 private 멤버 변수 idname을 정의하고, private 메서드 getDetails를 활용합니다. 해당 멤버 및 메서드에는 클래스 외부에서 접근할 수 없으며, 코드에서 시도하면 컴파일 오류가 발생합니다.

이는 TypeScript에서 정보 은닉 및 인터페이스를 단순화하여 클래스의 내부 동작을 보호하는 데 도움이 됩니다.

참고 자료