JavaScript OOP의 속성 게터
다음과 같은 프라이빗 속성을 가진 클래스가 있다고 가정해 보겠습니다:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
}
보시다시피, 이 속성들은 객체 생성 시 한 번 설정됩니다. 그러나 현재는 이 속성들을 읽을 수 없습니다. 왜냐하면 그들은 프라이빗이고 이를 위한 해당 메서드가 없기 때문입니다.
이 속성들을 읽을 수 있는 특별한 메서드를 만들어 봅시다.
이러한 메서드(게터라고 함)는
get이라는 단어로 시작해야 하며,
그 다음에는 읽을 속성의 이름이 와야 합니다.
우리 속성들의 게터를 만들어 봅시다:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
getName() {
return this.#name;
}
getSurn() {
return this.#surn;
}
}
그들의 작동을 확인해 봅시다. 사용자 데이터를 매개변수로 전달하여 객체를 생성해 보겠습니다:
let user = new User('john', 'smit');
게터를 사용하여 이 데이터를 읽어 보겠습니다:
console.log(user.getName());
console.log(user.getSurn());
Employee 클래스에서
세 개의 프라이빗 속성을 만드세요: 이름, 급여, 나이.
이 속성들의 값을 생성자에 매개변수로 전달하세요.
각 속성의 값을 출력하는 게터를 만드세요.