소개
Python에서 비공개 메서드는 자신이 정의된 클래스 외부에서 사용되지 않는 메서드입니다. 이러한 메서드는 이름 앞에 이중 밑줄 접두사(__)로 표시되며 해당 메서드가 정의된 클래스 내에서만 액세스할 수 있습니다. 이번 글에서는 Python의 private 메소드 개념과 장점, 단점, 사용법을 예제와 함께 설명하겠습니다.
Python의 개인 메소드란 무엇입니까?
프라이빗 메서드는 자신이 정의된 클래스 외부에서 사용되지 않는 메서드입니다. 이러한 메서드는 클래스 내에서 내부 기능을 구현하는 데 사용됩니다. 이는 외부 코드에서 사용하기 위한 것이 아닙니다. Python에서 비공개 메서드는 이름 앞에 이중 밑줄 접두사로 표시됩니다.
예
__method_name
Python에서 개인 메소드를 정의하는 방법은 무엇입니까?
프로그래머가 Python에서 비공개 메서드를 정의하려는 경우 프로그래머는 메서드 이름 앞에 이중 밑줄 접두사를 추가해야 합니다. 예는 다음과 같습니다.
프로그램 1:
class MyClass: def __init__(self): self.__private_method() def __private_method(self): print('This is a private method.') # Instantiate, the class my_obj = MyClass()
산출:
설명:
위의 예에서는 MyClass라는 클래스를 정의했습니다. __private_method라는 비공개 메서드가 있습니다. 이 메서드는 self.__private_method()를 사용하여 클래스 생성자(__init__)에서 호출됩니다. 메소드에는 이중 밑줄 접두사가 있으므로 비공개이며 클래스 외부에서 액세스할 수 없습니다.
프로그램 2:
class BankAccount: def __init__(self, account_number, balance): self.__account_number = account_number self.__balance = balance def deposit(self, amount): self.__balance += amount def withdraw(self, amount): if self.__balance >= amount: self.__balance -= amount else: print('Insufficient funds') def __display_balance(self): print('Account Balance:', self.__balance) def statement(self): print('Account Number:', self.__account_number) self.__display_balance() # create a BankAccount object my_account = BankAccount('123456789', 1000) # make some transactions my_account.deposit(500) my_account.withdraw(200) # print a statement my_account.statement()
산출:
설명:
제공된 코드는 자금 입출금, 계좌 잔액 표시, 계좌 명세서 인쇄를 위한 메서드가 포함된 BankAccount 클래스를 정의합니다. 그런 다음 이 클래스의 인스턴스가 생성되고 일부 트랜잭션이 생성된 후 명령문이 인쇄됩니다.
Python의 개인 메소드의 장점
Python의 개인 메소드의 단점
결론
Python의 비공개 메서드는 캡슐화를 달성하고 코드 유지 관리성을 향상시키는 데 도움이 되는 유용한 기능입니다. 몇 가지 단점이 있지만 Python에서 비공개 메서드를 사용하면 단점보다 이점이 더 큽니다.