파이썬/클래스와 객체 지향 12

불필요한 인스턴스 변수 사용 줄이기: 데이터프레임을 지역 변수로 처리하는 이유

**객체지향 프로그래밍(OOP)**에서는 **인스턴스 변수(instance variable)**와 **지역 변수(local variable)**를 어떻게 사용할지 결정하는 것이 코드의 성능과 유지보수성에 큰 영향을 줍니다. 특히, **데이터프레임(DataFrame)**과 같은 대형 데이터를 다룰 때, 이를 인스턴스 변수로 저장할지, 지역 변수로 처리할지 신중하게 선택해야 합니다.이 글에서는 데이터프레임을 self.df와 같은 인스턴스 변수로 저장하지 않고, 지역 변수로 처리해야 하는 이유를 정리해보겠습니다. 불필요한 상태 저장 방지보통 클래스에서 self.df = pd.DataFrame(...)처럼 데이터프레임을 인스턴스 변수로 저장하면, 클래스의 상태(state)가 변경됩니다. 하지만 이 데이터프레임이..

[객체 지향 프로그래밍 4개의 기둥] 캡슐화

​객체 지향 프로그래밍(Object-Oriented Programming, OOP)의 핵심 개념 중 하나인 **캡슐화(Encapsulation)**는 객체의 내부 상태나 동작을 외부로부터 숨기고, 필요한 인터페이스만을 공개하여 객체의 무결성과 일관성을 유지하는 것을 의미합니다. 이를 통해 코드의 유지보수성과 재사용성을 향상시킬 수 있습니다. class CreditCard: MAX_PAYMENT_LIMIT = 30000000 def __init__(self, name, password, payment_limit): self.name = name self._password = password self._payment_limit = payment_limit ..