짧은하루
python 접근제한자 (__, _ 언더 스코어 의미) 본문
python에서는 java 처럼 접근을 제한하는 접근제한자를 사용하지 않는다.
접근 제한자를 두기보다는 약속을 정하고 웬만하면 따를 것을 권장한다.
python에서 밑줄의 의미
밑줄 두 개(__)는 JAVA에서 private를 의미한다.
밑줄 한 개(_)는 JAVA에서 protected를 의미한다.
하지만 실제 접근제한자로 작동하지는 않아서 함수/변수를 다른 곳에서 호출해도 문제가 발생하지 않는다.
다만, private/protected로 쓸 것을 권장할 뿐이다.
JAVA에서 private, protected 개념은 다음과 같다.
- private 자기 자신 클래스 안에서만 사용 가능
- protected 자기 자신 클래스와 상속된 클래스에서 사용 가능
코드 예시
class SampleCode:
def __init__(self):
self._haha = 1
def __mothod1(self):
pass
def _mothod2(self):
pass
if __name__ == '__main__':
# 객체 생성
test = SampleCode()
# 다음과 같이 사용해도 에러가 나지 않지만 protected와 private 처럼 쓸 것을 권장함
test._haha = 2
test.__mothod1()
test._mothod2()
반응형
'Language > python' 카테고리의 다른 글
파이참(Pycharm) 코딩 스타일 적용하기 (구글 스타일) (0) | 2021.09.14 |
---|---|
python 환경 변수 설정 (os.environ) (0) | 2021.09.14 |
python __file__ , 경로 반환하기 (0) | 2021.09.13 |
python 데코레이터 @property (0) | 2021.09.13 |
pip 란? (0) | 2020.10.11 |
Comments