반응형
파이썬에서 모든 클래스는 기본적으로 object 클래스를 상속받습니다. object 클래스는 파이썬의 모든 클래스의 최상위 클래스(루트 클래스)로, 모든 클래스는 object 클래스로부터 상속받은 메서드와 속성을 가집니다.
object 클래스의 역할
- 기본 메서드 제공: object 클래스는 모든 클래스가 기본적으로 사용할 수 있는 메서드를 제공합니다. 예를 들어, __init__, __str__, __repr__, __eq__ 등의 메서드가 있습니다.
- 상속 구조의 루트: 모든 클래스는 object 클래스를 상속받기 때문에, 파이썬의 클래스 상속 구조의 루트가 됩니다.
주요 메서드
- __init__(self): 객체가 생성될 때 호출되는 초기화 메서드입니다.
- __str__(self): 객체를 문자열로 표현할 때 호출되는 메서드입니다. print() 함수로 객체를 출력할 때 사용됩니다.
- __repr__(self): 객체의 공식적인 문자열 표현을 반환하는 메서드입니다. 주로 디버깅과 개발 과정에서 사용됩니다.
- __eq__(self, other): 두 객체가 같은지 비교하는 메서드입니다.
예시: object 클래스 상속
class MyClass(object):
def __init__(self, value):
self.value = value
def __str__(self):
return f"MyClass with value: {self.value}"
def __repr__(self):
return f"MyClass({self.value})"
def __eq__(self, other):
if isinstance(other, MyClass):
return self.value == other.value
return False
# 인스턴스 생성
obj1 = MyClass(10)
obj2 = MyClass(10)
obj3 = MyClass(20)
# 메서드 사용
print(obj1) # 출력: MyClass with value: 10
print(repr(obj1)) # 출력: MyClass(10)
print(obj1 == obj2) # 출력: True
print(obj1 == obj3) # 출력: False
이 예제에서는 MyClass가 object 클래스를 상속받아 정의되었습니다. __init__, __str__, __repr__, __eq__ 메서드를 오버라이딩하여 객체의 초기화, 문자열 표현, 비교 기능을 구현했습니다.
반응형
'IT' 카테고리의 다른 글
파이썬 클래스 상속받고 재정의하기 (0) | 2025.02.05 |
---|---|
파이썬에서 클래스 내부 멤버 변수를 숨기는 방법 (0) | 2025.02.05 |
파이썬 클래스 정의하고 인스턴스 생성 (0) | 2025.02.05 |
파이썬 클래스(Class) 정의 (0) | 2025.02.05 |
파이썬 반복문 - 리스트 컴프리헨션 (0) | 2025.02.05 |