SteadyDrills

파이썬의 'object' class 본문

PYTHON

파이썬의 'object' class

Drills 2025. 1. 14. 23:55

250114

 

'object' class

object 클래스는 모든 클래스의 기본 클래스이자 최상위 클래스로, 모든 클래스는 암묵적으로 object 클래스를 상속받는다. 이는 객체 지향 설계의 통일성과 관계되며 파이썬의 "모든 것은 객체다"라는 핵심 철학을 실현한다. 또한 object 클래스는  파이썬에서 코드의 재사용과 확장성 측면에서 유연하고 강력하게 만들어주는 역할을 한다.

 

 

class NewClass:  # 암시적 object 상속
    pass

class NewClass(object):  # 명시적 object 상속
    pass


# 모든 것이 객체이다.
print(isinstance(42, object))  # True (숫자도 객체)
print(isinstance("Hello", object))  # True (문자열도 객체)
print(isinstance(lambda x: x, object))  # True (함수도 객체)

 

'object' class 특징

  • 기본 메서드를 제공한다.
    • __init__: 객체 초기화를 위한 생성자 메서드
    • __str__: 객체의 문자열 표현을 반환하는 메서드
    • __repr__: 객체의 상세한 문자열 표현을 반환하는 메서드
    • __hash__: 객체의 해시값을 계산하는 메서드
    • __eq__: 객체 간 동등성 비교를 위한 메서드
  • 공통 기능 구현
    • 모든 파이썬 객체가 공유해야 하는 기본적인 동작과 속성을 정의
    • 객체 식별, 타입 확인, 속성 접근 등의 기본 기능 제공
  • 타입 시스템의 기반
    • type() 함수로 확인할 수 있는 모든 타입의 근간
    • 새로운 클래스 생성 시 기본적인 객체 특성을 상속  → 상속을 통해 코드의 재사용과 확장성 측면을 강화

 

 

 

 

 

https://docs.python.org/ko/3.13/reference/datamodel.html#object.__new