(1) 클래스 변수(Class Variables)
- 클래스 전체에서 공유되는 변수로, 모든 인스턴스에서 동일한 값을 가집니다.
class MyClass:
class_variable = "I am a class variable" # 클래스 변수
(2) 인스턴스 변수(Instance Variables)
- 인스턴스(객체)별로 독립적으로 유지되는 변수입니다.
self
키워드를 사용하여 정의합니다.
class MyClass:
def __init__(self, value):
self.instance_variable = value # 인스턴스 변수
(3) 메서드(Methods)
- 클래스 내부에 정의된 함수로, 객체와 상호작용하거나 클래스 동작을 정의합니다.
- 인스턴스 메서드:
self
를 통해 호출.
- 클래스 메서드:
@classmethod
와 cls
를 사용.
- 정적 메서드:
@staticmethod
를 사용, self
또는 cls
필요 없음.
class MyClass:
def instance_method(self):
return "I am an instance method"
@classmethod
def class_method(cls):
return "I am a class method"
@staticmethod
def static_method():
return "I am a static method"
(4) 생성자(Constructor)
- 객체가 생성될 때 자동으로 호출되는 특별한 메서드로, 주로 인스턴스 변수를 초기화합니다.
__init__()
메서드를 사용합니다.
class MyClass:
def __init__(self, name):
self.name = name # 인스턴스 변수 초기화
(5) 소멸자(Destructor)
- 객체가 소멸될 때 호출되는 특별한 메서드로,
__del__()
을 사용합니다.
class MyClass:
def __del__(self):
print("Object is being deleted")
(6) 특수 메서드(Magic Methods)
- 파이썬에서 제공하는 특별한 이름의 메서드로, 연산자 오버로딩 또는 객체의 동작을 정의하는 데 사용됩니다.
__str__()
: 객체를 문자열로 표현.
__repr__()
: 객체의 표현을 반환.
__add__()
: +
연산자 동작 정의.
class MyClass:
def __str__(self):
return "This is a MyClass object"