[javascript] 게터와 세터 함수의 활용
게터(Getter)와 세터(Setter) 함수는 JavaScript 클래스에서 속성을 안전하게 읽고 쓸 수 있도록 하는 데 사용됩니다. 이를 통해 클래스의 속성에 직접적으로 접근하는 것을 피하고, 값을 검증하거나 추가적인 로직을 적용할 수 있습니다.
게터 함수
게터 함수는 해당 속성을 반환하며, 일반적으로 get
키워드와 함께 정의됩니다. 예를 들어, 다음과 같이 게터 함수를 사용하여 클래스의 속성을 안전하게 읽을 수 있습니다.
class Circle {
constructor(radius) {
this._radius = radius;
}
get radius() {
return this._radius;
}
}
const myCircle = new Circle(5);
console.log(myCircle.radius); // 5
위의 예제에서 _radius
속성은 get radius()
게터 함수를 통해 안전하게 접근됩니다.
세터 함수
세터 함수는 해당 속성에 값을 할당하며, 일반적으로 set
키워드와 함께 정의됩니다. 이를 통해 값의 유효성을 검증하거나 추가적인 로직을 적용할 수 있습니다. 예를 들어, 다음과 같이 세터 함수를 사용하여 클래스의 속성에 안전하게 값을 할당할 수 있습니다.
class Circle {
constructor(radius) {
this._radius = radius;
}
get radius() {
return this._radius;
}
set radius(value) {
if (value > 0) {
this._radius = value;
} else {
console.log("반지름은 0보다 커야 합니다.");
}
}
}
const myCircle = new Circle(5);
myCircle.radius = 10;
console.log(myCircle.radius); // 10
myCircle.radius = -1;
// 출력: "반지름은 0보다 커야 합니다."
console.log(myCircle.radius); // 10
위의 예제에서 set radius(value)
세터 함수를 통해 radius
속성에 안전하게 값을 할당하고, 유효성을 검증합니다.
게터와 세터 함수를 사용하여 속성을 안전하게 읽고 쓰면서 더 나은 코드를 작성할 수 있습니다.
이제 JavaScript 클래스에서 게터와 세터 함수를 활용하여 속성을 안전하게 읽고 쓸 수 있게 되었습니다. 게터와 세터 함수를 통해 코드의 안정성을 높이고, 유지보수성을 향상시킬 수 있습니다.
더 많은 정보는 MDN web docs에서 확인하실 수 있습니다.