데이터와 관련 기능을 하나로 묶어 프로그램의 재사용성과 유지보수성을 극대화하는 객체지향 프로그래밍(OOP) 기초를 학습합니다.
1. OOP 클래스 용어 사전 (Glossary)
- Class (클래스): 객체를 찍어내기 위한 설계도(Blueprint)입니다.
- Instance (인스턴스): 클래스 설계도를 바탕으로 실제 메모리에 할당된 객체 구체물입니다.
__init__()(생성자): 인스턴스가 최초 만들어질 때 자동으로 호출되어 속성 초기화를 담당하는 스페셜 메소드입니다.self: 인스턴스 자기 자신을 가리키는 첫 번째 매개변수로, 메소드 선언 시 반드시 명시해야 합니다.- Encapsulation (캡슐화): 변수명 앞에 두 개의 언더스코어(
__private)를 붙여 외부의 직접적인 수정을 막고 네임 맹글링(Name Mangling) 처리하는 보안 기술입니다.
2. 파이썬 클래스 선언 및 캡슐화 코드
class BankAccount:
def __init__(self, owner: str, balance: float):
self.owner = owner
self.__balance = balance # 비공개 속성 (Encapsulation)
def deposit(self, amount: float):
if amount > 0:
self.__balance += amount
print(f"{amount:,}원 입금 완료 (잔액: {self.__balance:,}원)")
def get_balance(self):
return self.__balance
account = BankAccount("홍길동", 100000)
account.deposit(50000)
print(f"현재 잔액: {account.get_balance():,}원")