[typescript] public 접근 제어자와 객체의 상태 변경

이번 글에서는 TypeScript에서 객체의 상태를 변경하는 방법 중 하나인 public 접근 제어자에 대해서 알아보겠습니다.

객체의 상태 변경

객체의 상태를 변경하는 가장 간단한 방법은 메서드를 사용하는 것입니다. 메서드는 객체의 속성을 변경하거나 다른 동작을 수행할 수 있습니다.

class Person {
  public name: string;

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

  public changeName(newName: string): void {
    this.name = newName;
  }
}

let person1 = new Person('Alice');
console.log(person1.name); // 출력: Alice
person1.changeName('Bob');
console.log(person1.name); // 출력: Bob

위의 예제에서 changeName 메서드를 사용하여 person1 객체의 name 속성을 변경했습니다.

public 접근 제어자

TypeScript에서 public 접근 제어자를 사용하면 클래스의 속성이나 메서드가 어디에서든지 접근할 수 있습니다. 따라서 외부에서 객체의 상태를 직접 변경할 수 있습니다.

class Counter {
  public count: number;

  constructor() {
    this.count = 0;
  }

  public increment(): void {
    this.count++;
  }
}

let counter1 = new Counter();
console.log(counter1.count); // 출력: 0
counter1.count = 10;
console.log(counter1.count); // 출력: 10
counter1.increment();
console.log(counter1.count); // 출력: 11

위의 예제에서 count 속성과 increment 메서드는 모두 public으로 선언되어 있기 때문에 외부에서 직접 접근 및 변경할 수 있습니다.

결론

public 접근 제어자를 사용하면 속성과 메서드를 외부에서 직접 접근하여 상태를 변경할 수 있어서 주의가 필요합니다. 객체의 상태를 변경할 때에는 캡슐화와 데이터 은닉을 고려하여 적절한 접근 제어자를 선택하는 것이 좋습니다.

이상으로 TypeScript의 public 접근 제어자에 대한 간단한 소개를 마치겠습니다.

참고문헌: