[typescript] private 접근 제어자와 클래스 상속
우리는 TypeScript에서 private과 클래스 상속을 사용하여 객체지향 프로그래밍의 기본 개념을 적용할 수 있습니다. private 접근 제어자를 사용하여 클래스의 내부 상태를 보호하고, 클래스 상속을 통해 코드를 재사용하고 확장할 수 있습니다.
private 접근 제어자
private 접근 제어자를 사용하면 해당 멤버가 클래스 외부에서 접근할 수 없습니다. 이것은 멤버에 대한 직접적인 접근을 제한하고 클래스 내부에서만 사용되도록 보장합니다. 다음은 private 멤버를 가진 클래스의 예제 코드입니다.
class Person {
private name: string;
constructor(name: string) {
this.name = name;
}
public displayName(): void {
console.log(this.name);
}
}
let person = new Person("John");
person.displayName();
console.log(person.name); // 에러: 'name'은 private이며 클래스 'Person' 외부에서 접근할 수 없습니다.
클래스 상속
클래스 상속은 기존 클래스를 기반으로 새로운 클래스를 만드는 개념입니다. TypeScript에서는 extends 키워드를 사용하여 클래스를 상속할 수 있습니다. 아래의 예제는 클래스 상속을 보여줍니다.
class Employee extends Person {
private id: number;
constructor(name: string, id: number) {
super(name);
this.id = id;
}
public displayEmployee(): void {
console.log(`ID: ${this.id}, Name: ${this.name}`);
}
}
let employee = new Employee("Jane", 123);
employee.displayEmployee();
employee.displayName(); // 에러: 'name'은 private이며 클래스 'Person' 외부에서 접근할 수 없습니다.
위의 예제에서, Employee 클래스는 Person 클래스를 상속받고, Person 클래스 내의 private 멤버에 접근할 수 없습니다. 이를 통해 코드의 안전성과 재사용성을 높일 수 있습니다.
private 접근 제어자와 클래스 상속은 TypeScript의 강력한 기능 중 하나이며, 객체지향 프로그래밍을 지원하는데 도움이 됩니다.