클래스 만들기

class Person {
  name: string;
  age: number;

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

const person = new Person('max', 30);
person.age = 40;
console.log(person);
// Person { name: 'max', age: 40 }

접근 제어자 활용

class Person {
  private name: string;
  private age: number;

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

const person = new Person('max', 30);
person.age = 40; // I can't
console.log(person);

컴파일 결과

"use strict";
var Person = /** @class */ (function () {
    function Person(name, age) {
        this.name = name;
        this.age = age;
    }
    return Person;
}());
var person = new Person('max', 30);
person.name = 'asd'

console.log(person);
// Person { name: 'asd', age: 30 }