[javascript] 게터와 세터 함수의 활용

JavaScript에서 게터(getter)와 세터(setter) 함수는 객체의 속성에 접근하고 수정할 때 사용됩니다. 이러한 함수들을 사용하면 데이터를 캡슐화하고 객체의 속성에 대한 접근을 제어할 수 있습니다.

게터 함수 (Getter Function)

게터 함수는 객체 속성 값을 반환하는 데 사용됩니다. 이 함수를 사용하면 객체 속성에 직접 액세스하지 않고 값을 가져올 수 있습니다. 일반적으로 속성 값을 다루는 메서드로, 외부에서 직접 속성 값을 읽으면 안되는 경우에 유용하게 활용됩니다.

다음은 게터 함수의 예시입니다.

const obj = {
  _name: 'John',
  get name() {
    return this._name;
  }
};

console.log(obj.name); // 'John' 출력

세터 함수 (Setter Function)

세터 함수는 객체 속성에 값을 할당하고 수정하는 데 사용됩니다. 이 함수를 사용하면 객체 속성에 직접 액세스하지 않고 값을 설정할 수 있습니다.

다음은 세터 함수의 예시입니다.

const obj = {
  _age: 20,
  set age(newAge) {
    if (newAge > 0) {
      this._age = newAge;
    } else {
      console.log('나이는 0보다 커야 합니다.');
    }
  }
};

obj.age = 25;
console.log(obj.age); // 25 출력
obj.age = -2; // '나이는 0보다 커야 합니다.' 출력

게터와 세터 함수를 사용하면 객체의 속성에 대한 접근과 수정을 제어할 수 있으며, 데이터의 무결성을 유지하고 보안을 강화하는 데 도움이 됩니다.

마치며

게터와 세터 함수를 사용하면 객체 속성에 대한 접근을 제어할 수 있으므로, 코드의 가독성과 유지보수성을 높일 수 있습니다. 이러한 함수들은 코드베이스를 구조화하고 안정성을 유지하는 데 매우 유용합니다.


참고: MDN web docs - 게터와 세터