JavaScript 객체 지향 프로그래밍의 접근자 속성
객체 속성에는 두 가지 유형이 있습니다.
첫 번째 유형은 데이터 속성(data properties)입니다. 우리는 이미 이것들을 어떻게 다루는지 알고 있습니다. 지금까지 우리가 사용한 모든 속성들은 데이터 속성이었습니다.
두 번째 유형의 속성은 아직 살펴보지 않았습니다. 이것이 접근자 속성(accessor properties)입니다. 본질적으로 이것은 값을 할당하고 검색하는 데 사용되는 함수이지만, 외부 코드에서는 일반적인 객체 속성처럼 보입니다.
접근자 속성은 메서드 선언 시 사용된 키워드
get과 set을 통해 생성됩니다:
class User {
get name() {
}
set name(name) {
}
}
이러한 선언의 결과로
우리 클래스는 속성
name을 가지게 됩니다.
이때 이 속성을 읽으려고 하면
get을 통해 선언된 메서드가 호출됩니다:
let name = user.name;
쓰기를 시도하면 set을 통해 선언된 메서드가 호출됩니다:
user.name = 'john';
다음 클래스가 주어졌습니다:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
이 클래스의 객체를 생성하고
속성 name에서 데이터를 읽고 쓰려고 시도해 보세요.