본문 바로가기
프론트엔드/TypeScript

class - 접근 제어자

by step 1 2021. 6. 21.
반응형
  • 접근 제어자는 public, private, protected 가 있다.
  • 설정하지 않으면 public 이다.
  • 클래스 내부의 모든 곳에(생성자, 프로퍼티, 메서드) 설정 가능하다.
  • private으로 설정하면 클래스 외부에서 접근할 수 없다.
  • 자바스크립트에서 private를 지원하지 않아 오랫동안 프로퍼티나 메서드 이름 앞에 _를 붙여서 표현했다.

예제

TS 파일

class Person55 {
  public name: string = "Mark";
  // 클래스 내부에서 선언하지 않을 경우 !를 붙여준다.
  // 반드시 바깥에서 선언해주어야 한다.
  private age!: number;

  public constructor(age: number){
    this.age = age;
  }

  public async init(){}
}

const p12: Person55 = new Person55(22);

console.log(p12);

// 에러 발생 외부에서 접근이 불가능 하기 때문
// console.log(p12.age);

 

반응형