접근제한자 public, protected, private

?·2021년 6월 28일
0

접근 제한자

접근 제한자란, 클래스 내에서 멤버의 접근을 제한하는 역할 을 한다.

이것을 통해 접근을 막고 외부로 부터의 노출을 줄일 수 있다(정보은닉). 이는 객체 지향 언어의 특징인데, 의도치 않은 코드의 수정을 막고 객체와 객체간의 간섭이 최대한 없게 하기 위해서이다.


접근제한자의 종류

  • public : 어디서든 접근이 가능.
  • protected : 상속관계일 때 접근이 가능
  • private : 해당 클래스에서만 접근이 가능

사실 자바스크립트는 프로토 타입 기반의 스크립트 언어이기 때문에, 접근 제한자 기능이 녹아 있는 언어는 아니다. ES6부터 class 개념이 도입되었지만, 실제 동작은 function constructor와 prototype inheritance 방식대로 진행되게 된다.

즉 겉으로 보기에는 다른 OOP언어처럼 작동하는 것 처럼 보여도, 외관만 그럴 뿐 실제로는 기존 자바스크립트 방식으로 구동하게 되며, 이런 의미에서 ES6의 class는 기존 OOP언어에 친숙한 개발자들을 위한 일종의 Syntactic sugar인 셈이다.
profile
?

0개의 댓글