카테고리 없음

스파르타 AI-8기 TIL(1/21)-TeamProject

kimjunki-8 2025. 1. 21. 22:56

오늘 배운점..

클래스는 타입이다? 사실 클래스는 객체 자체이며, 클래스의 인스턴스들은 그 클래스 타입을 가지게 됩니다.

1. 클래스가 타입인 이유
파이썬에서 모든 것은 객체입니다.
클래스도 객체로 취급되며, type이라는 메타클래스의 인스턴스입니다.
인스턴스를 생성하면, 그 인스턴스는 해당 클래스의 타입을 가지게 됩니다.
class MyClass:
    pass

# 클래스는 type의 인스턴스
print(type(MyClass))  # <class 'type'>

# 클래스의 인스턴스는 MyClass의 인스턴스
instance = MyClass()
print(type(instance))  # <class '__main__.MyClass'>


클래스 자체를 타입처럼 사용하기
클래스를 함수처럼 호출하여 동적으로 객체를 생성할 수 있습니다. 이는 타입 시스템처럼 작동할 수 있음을 보여줍니다.

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

# Point는 새로운 타입
p1 = Point(2, 3)
print(isinstance(p1, Point))  # True
print(type(p1))  # <class '__main__.Point'>

클래스는 type 클래스의 인스턴스로, 객체처럼 다룰 수 있습니다.
type()을 활용해 동적으로 클래스를 정의하거나, 클래스 자체를 타입으로 사용하여 강력한 기능을 구현할 수 있습니다.
이는 파이썬이 동적이며 객체 지향적인 언어임을 잘 보여줍니다.