Python
접근 제어자
시작 전 테스트환경 살피기
Time
2017년 09월 07일
OS
Virtual Box - Linux(Ubuntu 16.04 LTS)
Language
Python 2.7
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()
'개발자 레니는 지금 - > 소프트웨어와 함께' 카테고리의 다른 글
[ Python ] Running a background thread (0) | 2017.09.07 |
---|---|
👻[ Python ] 타입 비교 / 형변환 (0) | 2017.09.07 |
[ Python ] JSON encoder and decoder (0) | 2017.09.07 |
[ Python ] Select Module을 이용한 1:N TCP Socket 통신 (0) | 2017.08.30 |
[ Python ] Thread와 Multiprocessing 차이점 (0) | 2017.08.24 |