본문 바로가기

개발자 레니는 지금 -/소프트웨어와 함께

[ Python ] 접근 제어자



Python

접근 제어자








 시작 전 테스트환경 살피기

   Time

    2017년 09월 07일

   OS

    Virtual Box - Linux(Ubuntu 16.04 LTS)

   Language

    Python 2.7



다른 언어와 달리 Python은 private, public등의 접근제어자 키워드가 존재하지 않고 작명법(naming) 으로 접근제어를 합니다.


 Public

Private 

Protected 

  그냥 평소 쓰는 변수 형태

두개의 underscore이 변수 앞에 붙는 형태

한 개의 underscore이 변수 앞에 붙는 형태

 [ ex ] num

 [ ex ] __num 

 [ ex ] _num

변수의 끝 부분에 underscore가 2개 이상이 되면 public으로 인식한다.

변수의 끝, 연결 부분에 underscore를 쓸 수 있다.

 [ ex ] __num__

[ ex ] __num_    /   __num_one

 [ ex ]  _num_one



class Access_Modifiler() :


public = "PUBLIC"

__private = "PRIVATE"

_protected = "PROTECTED"


def print_test(self):

print("public : %s" %self.public)

print("__private : %s" %self.__private)

print("_protected : %s" %self._protected)


test = Access_Modifiler()

test.print_test()


print test.public

print test._protected

print test.__private




이를 외부에서 사용 및 변경하기 위해서는 JAVA에서 흔히 하듯이 get, set 함수를 만들어 주면 된다.

아래와 같은 코드로 수정해서 사용해보자.



def get_private(self) :

return self.__private


def set_private(self, p) :

self.__private = p



test = Access_Modifiler()

print test.get_private()

test.set_private("CHANG_PRIVATE")


print test.get_private()








 GIT HUB 해당 url로 들어가시면 Git-Hub에 전체 code가 올려져 있습니다.

access-test


 참조내용

1. [Python] 접근 제어자