class Person {
  private readonly _name: string;
  readonly age: number;
  constructor(name: string, age: number) {
    this._name = name;
    this.age = age;
  }
  get name(): string {
    return this._name + '222';
  }
}
const person = new Person('max', 30);
console.log(person.name);
참고 Object
static : 모든 인스턴스가 공유하는 자원
class Person {
  static HEIGHT: number = 172;
  private readonly _name: string;
  private readonly age: number;
  constructor(name: string, age: number) {
    this._name = name;
    this.age = age;
  }
}
console.log(Person.HEIGHT); // 172
외부에서 인스턴스 생성이 불가능한 클래스이다. singleton 패턴에서 사용할 수 있다고 하는데 호불호의 여지가 있다고 한다.
class Person {
  private static instance: Person | null = null;
  name: string;
  private constructor(name: string) {
    this.name = name;
  }
  public static getInstance(): Person {
    if (this.instance === null) {
      this.instance = new Person('max');
    }
    return this.instance;
  }
}
const max = Person.getInstance();
console.log(max);