JavaScript OOP에서 상속 시의 private 속성
Private 속성은 상속되지 않습니다. 그러나 자식 클래스는 부모 클래스의 public 메서드를 통해 이를 조작할 수 있습니다. 실제로 살펴보겠습니다. 다음과 같이 private 속성과 그 getter 및 setter를 가진 부모 클래스가 있다고 가정해 봅시다:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
다음 자식 클래스가 부모로부터 상속받는다고 가정합니다:
class Student extends User {
}
자식 클래스의 객체를 생성해 보겠습니다:
let student = new Student;
부모 클래스의 메서드를 사용하여 그 private 속성에 값을 써보겠습니다:
student.setName('john');
부모 클래스의 메서드를 사용하여 그 private 속성의 값을 읽어보겠습니다:
let name = student.getName();
console.log(name);
다음 부모 클래스가 주어졌습니다:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
이 부모 클래스를 상속받는
Employee 클래스를 만드세요.
Employee 클래스의 객체를 생성하고
상속받은 setter와 getter를 호출하세요.
Employee 클래스에
다음 메서드를 추가하세요:
getFull() {
return this.#name + ' ' + this.#surn;
}
메서드의 코드가 오류를 일으키는지 확인하세요.