[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 - 세터