private 멤버 변수는 외부에서 직접적으로 접근할 수 없습니다. 그러나 TypeScript에서는 간접적으로 접근하거나 값을 읽고 설정할 수 있는 방법이 있습니다. 이런 방식은 getter와 setter를 활용하는 것입니다.
_를 붙혀서 사용합니다.class Employee {
// 직원 정보
private _empName: string;
public age: number;
protected empJob: string;
constructor(empName: string, age?: number, empJob?: string) {
this._empName = empName;
this.age = age;
this.empJob = empJob;
}
printEmp = (): void => {
console.log(`${this._empName} 의 나이는 ${this.age} 이고, 직업은 ${this.empJob} 입니다.`);
};
get empName(): string {
return this._empName;
}
set empName(name: string) {
this._empName = name;
}
}
// Employee 인스턴스 생성
const emp1 = new Employee('seungsoo', 32, 'develop');
// printEmp() 호출
emp1.printEmp(); // seungsoo 의 나이는 32 이고, 직업은 develop 입니다.
emp1.empName = 'SONG'; // set 접근 , 'seungsoo'에서 'SONG' 값 변경
emp1.printEmp(); // SONG 의 나이는 32 이고, 직업은 develop 입니다.
const aa = emp1.empName; // get 접근 , 'SONG'
get , set 키워드를 사용해서 함수형 프로퍼티 empName 작성해줍니다.emp1.empName = 'SONG'; 으로 set empName() 에 접근할 수 있고const aa = emp1.empName; 으로 get empName() 에 접근할 수 있습니다.