python 네임맹글링
-
[Python] 파이썬 접근지정자 강제 접근 방법 파이썬 네임맹글링Python/Python 2024. 7. 2. 18:11
Python 에서는 다른 언어와 다르게 public/private/protected 같은 접근지정자가 따로 없다.하지만 우리는 네임맹글링이라는 기법으로 고유한 방법으로 던더(__) 기법을 사용하여 private하게 접근지정자를 만들고들 한다. 일반적으로 private한 변수를 가져오거나 값을 바꿀때에는 getter/setter 사용하여 클래스 내부에서 호출하여 변수를 보호한다. 그런데 파이썬에서 정말로 이러한 방법으로 완전하게 변수를 보호할 수 있을까?결과는 아니다. 아래 코드처럼 클래스 자체를 네임맹글링 방식으로 호출하면 결국에는 변수에 접근이 가능하다.class MyClass: def __init__(self): self.__secret_value = 1 self._..