TypeScript 접근 제한자.

CGH96·2022년 12월 23일
0

TypeScript

목록 보기
2/3

접근제한자란?

외부에서 특정 인스턴스의 프로퍼티에 대한 접근 수준을 제한한다.
c++, JAVA와 같이 class개념을 갖는 객체지향 언어들의 접근제한자와 비슷하다. 다만 JavaScript 내에서의 class의 성격은 다른 문법들과 다르기 때문에 접근제한자 또한 비슷하면서도 다르다.

필요성

객체지향 프로그래밍의 특징 중에 캡슐화가 있다. 캡슐화는 객체의 속성과 메서드를 하나로 묶어 공통된 틀을 만든다. 이는 중복되는 코드를 여런 작성하지 않게 해준다. 그리고 일부 데이터는 외부에서 접근할 수 없도록 하여 함부로 조작할 수 없게 한다. 이를 은닉화라고 한다. 이를 통해 사용자는 구체적 동작 방식을 알 필요도 없고(추상화), 조작할 수도 없다.(은닉화된 데이터의 무결성이 보장된다)

접근 제한자는 이 중 은닉화를 위해 존재한다고 볼 수 있다.

접근 제한자의 종류

<public>

  • 어디에서나 접근할 수 있다. default 접근 수준이다.

<protected>

  • 이 클래스와 서브클래스의 인스턴스에서만 접근할 수 있다.
  • 매개변수의 경우 자동으로 this에 할당한다.

<private>

  • 이 클래스의 인스턴스에서만 접근할 수 있다. (서브클래스 X)
  • 마찬가지로 매개변수는 자동으로 this에 할당된다.

0개의 댓글