Public Vs Private (Class Field)

Junghyun Park·2021년 7월 6일
0

배경지식

  • 객체 지향 프로그래밍에서 내부 인터페이스와 외부 인터페이스를 구분하는 것을 캡슐화(encapsulation)이라고 함
  • 객체 지향 프로그래밍에서 프로퍼티와 메서드는 두 그룹으로 구분(internal interface / external interface)
    자바스크립트에도 역시 두가지 타입의 class field(프로퍼티, 메서드)가 존재 (public, private)

    public: 어디서든 접근 가능, 외부 인터페이스를 구성
    private: 클래스 내부에서만 접근 가능, 내부 인터페이스를 구성
    (추가적으로, 다른 클래스 기반 언어에서는 private과 비슷하지만 자손 클래스에도 접근이 가능한 protected 도 제공)

내부 및 외부 인터페이스를 엄격하게 구분함으로써 장점은

사용자에게 알리지 않고도 자유롭게 내부 프로퍼티와 메서드를을 수정할 수 있음

새로운 버전이 출시되어도 외부 인터페이스가 동일하다면, 업그레이드가 용이

<참고 사이트>
https://ko.javascript.info/private-protected-properties-methods

profile
21c Carpenter

0개의 댓글