[typescript] 프로퍼티 셋터/게터 작성 시 주의할 점
프로퍼티 셋터와 게터를 작성할 때 몇 가지 주의할 점이 있습니다.
-
접근 제어자 활용: 프로퍼티 셋터와 게터는 public, private, 또는 protected로 지정할 수 있습니다. 이를 통해 프로퍼티에 대한 접근을 제어할 수 있습니다.
class Example { private _value: number; get value(): number { return this._value; } set value(newValue: number) { if (newValue >= 0) { this._value = newValue; } } }
-
명명 규칙 준수: 프로퍼티 셋터와 게터의 이름은 해당 프로퍼티의 이름과 일치해야 합니다. 조금 더 일반적인 사례는 get/set 접두어를 사용하는 것입니다.
class Example { private _value: number; get value(): number { return this._value; } set value(newValue: number) { this._value = newValue; } }
-
무한 루프 방지: 프로퍼티 셋터나 게터 내에서 해당 프로퍼티를 읽거나 쓰는 무한 루프를 방지하기 위해 다른 이름을 사용해야 합니다.
class Example { private _value: number; get value(): number { return this._value; } set value(newValue: number) { if (newValue !== this._value) { this._value = newValue; } } }
프로퍼티 셋터와 게터를 올바르게 작성하면 객체의 속성을 보다 세밀하게 제어할 수 있습니다. 하지만 프로퍼티 셋터와 게터를 남용하면 코드를 복잡하게 만들 수 있으므로 적절하게 활용해야 합니다.