[타입스크립트] Getter/Setter

Moon·2023년 7월 28일
0
post-thumbnail

privare 으로 설정한 프로퍼티를 읽거나 새로운 값을 할당할 때 사용한다.

타입스크립트(또는 자바스크립트)에서 getter와 setter는 객체의 속성에 접근하고 수정하는 방법을 제어하는 특별한 메서드이다.

  • Getter 메서드: 이 메서드는 특정 속성의 값을 반환하는 역할을 한다. get 키워드를 사용해 정의한다.
  • Setter 메서드: 이 메서드는 특정 속성의 값을 설정하는 역할을 한다. set 키워드를 사용해 정의한다.

Getter와 setter를 사용하면 클래스의 내부 상태를 보호하고, 속성 값을 검증하거나 변환하는 로직을 캡슐화할 수 있다.

다음은 타입스크립트에서 getter와 setter를 사용하는 예:


class Person {
  private _name: string;

  constructor(name: string) {
    this._name = name;
  }

  // Getter
  get name(): string {
    return this._name;
  }

  // Setter
  set name(newName: string) {
    if (newName.length > 0) {
      this._name = newName;
    } else {
      console.log('Error: Name must contain at least one character');
    }
  }
}

let john = new Person('John');
console.log(john.name);  // "John" 출력
john.name = 'Jane';  // 이름 변경
console.log(john.name);  // "Jane" 출력
john.name = '';  // 에러 메시지 출력: "Error: Name must contain at least one character"

위의 코드에서 name 속성은 실제로 _name 이라는 private 속성을 통해 내부적으로 관리되고 있다. name 속성에 접근하거나 값을 할당하려고 시도하면, 각각 getter와 setter가 호출된다. 이 예제의 setter는 newName이 적어도 하나 이상의 문자를 포함하고 있는지 확인하여 이름의 유효성을 검증한다.

profile
FE moon

0개의 댓글