JavaScript OOP에서 보호된 속성
보호된 속성도 도입해 봅시다. 그 이름도 밑줄로 시작하도록 합시다. 예를 들어 보겠습니다. 나이를 포함하는 보호된 속성을 가진 부모 클래스를 만듭니다:
class User {
setAge(age) {
this._age = age;
}
getAge() {
return this._age;
}
}
자식 클래스에서 나이를 1 증가시키는 메서드를 만듭니다:
class Student extends User {
incAge() {
this._age++;
}
}
다음 코드를 보호된 속성을 사용하여 재작성하세요:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
class Employee extends User {
setName(name) {
if (name.length > 0) {
this.#name = name;
}
}
}