클래스에서는 기본적으로 public private protacted readonly 접근한정자로 보호할수있다.
부모 클래스 A에 멤버 변수 public a:string을 선언하고 자식 클래스B에서 extends 했을때 a라는 멤버변수는 부모, 자식, 클래스 인스턴스 3곳 모두 접근가능하다. 하지만 private는 부모 클래스에서만 접근가능하며, protacted는 부모와 자식 클래스에서만 접근가능하다. readonly는 클래스인스턴스에서 직접적으로 값을 할당하는것이 불가능하다.
또한 abstract를 사용하여 부모 클래스를 생성으로부터 보호하고 추상화할수있다. abstract 클래스는 반드시 상속된 자식 클래스가 있어야 사용이 가능하며 멤버 중하나라도 abstract라면 부모클래스도 abstract여야한다. 일반적으로 abstract 멤버변수나 메서드는 로직을 사용하는것이 불가능하며 자식클래스에서 오버라이딩해야한다. abstract 클래스에서도 일반적인 로직을 사용하는 메서드를 구현할수있다