[javascript] 게터와 세터 함수의 활용
JavaScript에서 게터(getter)와 세터(setter) 함수는 객체 지향 프로그래밍에서 매우 유용하게 활용될 수 있습니다. 게터는 객체 속성의 값을 읽을 때 사용되고, 세터는 객체 속성의 값을 설정할 때 사용됩니다.
이러한 함수들을 이용하여 객체의 속성에 대한 접근을 보다 엄격하게 제어하고 유효성을 검사할 수 있습니다.
게터 함수 활용하기
게터 함수를 사용하여 객체의 속성 값을 읽을 때 특정한 동작을 수행하도록 설정할 수 있습니다. 아래는 게터 함수를 사용한 예시입니다.
const person = {
firstName: 'John',
lastName: 'Doe',
get fullName() {
return this.firstName + ' ' + this.lastName;
}
};
console.log(person.fullName); // 'John Doe'
위의 예시에서 fullName
은 실제 속성이 아니지만 마치 속성처럼 접근할 수 있습니다. 이 때 get
키워드가 사용되었습니다.
세터 함수 활용하기
세터 함수를 사용하여 객체의 속성 값을 설정할 때 특정한 동작을 수행하도록 설정할 수 있습니다. 아래는 세터 함수를 사용한 예시입니다.
const person = {
_age: 0,
set age(value) {
if (value < 0) {
console.log('나이는 음수일 수 없습니다');
} else {
this._age = value;
}
}
};
person.age = 30;
console.log(person._age); // 30
person.age = -1; // '나이는 음수일 수 없습니다'
위의 예시에서 age
를 설정할 때 해당 값이 음수인 경우에는 콘솔에 메시지가 출력됩니다. 세터 함수는 입력된 값을 검증하는 역할을 수행하고, 필요에 따라 값을 수정하거나 동작을 수행할 수 있습니다.
결론
게터와 세터 함수는 객체의 속성에 접근하는 방식을 제어하여 유효성을 검사하고 특정 동작을 추가하는 데에 유용합니다. 이를 통해 안정적이고 예측 가능한 코드를 작성할 수 있으며, 객체의 내부 상태를 보호할 수 있습니다.
MDN Web Docs - 게터
MDN Web Docs - 세터