반응형
파이썬 메서드 앞의 언더스코어: _ vs __ vs 없음
안녕하세요! 🌟 오늘은 파이썬 클래스 내의 메서드 이름 앞에 있는 언더스코어 _와 __에 대해 알아보려고 합니다. 무엇을 의미하는지, 언제 사용하는지에 대해 살펴보겠습니다.
1. _method():
"프라이빗"으로 간주되는 메서드입니다. 클래스 내부에서 주로 사용됩니다.
class Car:
# Protected Method
def _fill_gas(self):
return "기름을 넣습니다."
2. __method():
이름에 변경이 가해져 외부에서 직접 접근하기 어려워집니다.
class Car:
# Private Method
def __private_method(self):
return "이것은 비공개 메서드입니다."
3. method():
class Car:
def drive(self):
return "차가 달립니다."
다양한 접근 제한자와 메서드들을 합쳐 Car 클래스를 만들어보겠습니다.
class Car:
# Public Method
def drive(self):
return "차가 달립니다."
# Protected Method
def _fill_gas(self):
return "기름을 넣습니다."
# Private Method
def __private_method(self):
return "이것은 비공개 메서드입니다."
# 클래스 인스턴스 생성
my_car = Car()
# Public Method 호출
print(my_car.drive()) # 출력: 차가 달립니다.
# Protected Method 호출 (보통 외부에서 호출하지 않지만 호출은 가능합니다)
print(my_car._fill_gas()) # 출력: 기름을 넣습니다.
# Private Method 호출 (외부에서 직접 호출하면 오류 발생)
# print(my_car.__private_method()) # AttributeError 발생
# 이름 변경을 통한 Private Method 호출
print(my_car._Car__private_method()) # 출력: 이것은 비공개 메서드입니다.
메서드 이름 앞의 언더스코어의 유무와 개수에 따라 접근성이 달라집니다. 개발할 때 이를 잘 활용하여 코드의 품질을 높일 수 있습니다. 🚗🔧🔐
메서드 앞의 언더스코어는 단순한 문법적인 표기일 뿐이라기보다는 개발자 간의 약속입니다. 이러한 약속을 준수하면 코드의 가독성이 높아지고, 코드의 오류 가능성을 줄일 수 있습니다. 📜✨
파이썬에서의 OOP(Object-Oriented Programming)를 이해하고 활용하는 데 있어 이러한 접근 제한자의 활용은 필수적입니다. 실제 개발 환경에서도 적절한 접근 제한자를 활용하여 더 안정적이고 효율적인 코드를 작성하는 것을 잊지 말아야 합니다. 🚀
반응형
'프로그래밍 언어(Programming Languages) > 파이썬(Python)' 카테고리의 다른 글
[Python] 파이썬 f-string 활용법 (4) | 2023.11.11 |
---|---|
[Redis] 초보자를 위한 Redis 입문하기 📈🗂 (23) | 2023.11.10 |
[Python] 부모와 자식의 관계: 클래스 상속 탐험하기 🚴♂️ (22) | 2023.11.08 |
[Python] isinstance() 함수 활용하기! 📘✨ (30) | 2023.11.07 |
[Python] @property 데코레이터로 캡슐화 구현하기 🛡️🐍 (38) | 2023.11.06 |