접근제어자
접근 제어자에는 public, private, protected가 있다.
python은 다른언어와 달리 접근 제어자가 없고, 작명법으로 접근을 제어할 수 있다.
사용법은 아래에 있다.
- public -> 아무런 표시가 없다
- private -> 두개의 밑줄(언더바)을 적용할 수 있다.
- protected -> 한개의 밑줄(언더바)을 적용할 수 있다.
코드로 사용하면 이렇게 된다.
class Example:
def __init__(self):
pass
def public(self):
print("public")
def _protected(self):
print("protected")
def __private(self):
print("private")
get / set
다른 언어에서 private를 사용한 속성값을 가져올땐 get, set 메소드를 사용하여 가져올 수 있지만,
python에서는 아래와 같이 사용된다.
def __init__(self):
self.__name = "john"
@property
def name(self):
return self.__name
@name.setter
def name(self, name):
self.__name = name
if __name__ == "__main__":
stu = Student()
print(stu.name) # john
stu.name = 'park'
print(stu.name) # park
데코레이터의 사용으로 좀 더 직관적이고 간편하게 사용할 수 있다.
get의 역할은 property, set의 역할은 사용하는 함수의 이름뒤에 .setter를 붙여 사용할 수 있다.property는 setter보다 윗줄에 사용해줘야한다는점도 기억해야한다.
'python' 카테고리의 다른 글
python 객체지향(OOP) 설계 원칙 (0) | 2020.10.18 |
---|---|
python 정적메소드 (0) | 2020.10.18 |
python 개발환경 구축 pyenv-virtualenv install (0) | 2020.09.30 |
python 설치 및 환경 설정 (0) | 2020.09.30 |
pycharm 설치 (mac) (0) | 2020.09.26 |