Python은 접근제어를 하기 위해서 키워드를 제공하지 않는 대신에 명명법(Naming)에 의한 방법으로 설정 가능.


<Public>

    • _(Single underscore)를 접두사로 사용하지 않음.(ex: name)
    • Python의 모든 속성 및 메소드는 기본적으로 public.
    • 외부 클래스에서 접근 가능.

<Protected>

    • _를 접두사로 사용. (ex: _name)
    • 해당 및 하위 클래스에서만 접근 가능.

<Private>

    • __(Double underscore)를 접두사로 사용.(ex: __name)
    • 해당 클래스 이외에는 접근 불가능.(단, Property Get, Set을 이용하면 접근가능)

※Protected와 Private에서 _를 접미사로 사용할 경우, 한개는 허용하지만, 두개 이상이면 Public으로 간주함.

    • _name_은 Protected, _name__은 Public으로 간주.


+ Recent posts