이번에는 메타 클래스와 추상 클래스에 대해 알아보자. 일반 클래스의 인스턴스는 객체 인스턴스가 되고, 메타 클래스(meta class)의 인스턴스는 클래스가 된다.
즉, 메타 클래스는 인스턴스 객체로 클래스 자체를 생성할 수 있는 것이다. 인스턴스, 클래스, 메타 클래스 관계 위의 그림을 보면 객체 인스턴스와 클래스, 메타 클래스의 관계를 보여준다.
그리고 메타 클래스와 더불어서 추상 클래스도 존재하는데, 추상 클래스(abstract base class)는 추상 메소드(abstract method)를 하나 이상 가진 클래스를 의미하며, 추상 클래스는 인스턴스 생성이 불가능하다. 메타 클래스(meta class) class type(name, bases, dict) name은 클래스의 이름이다. base는 상위 클래스를 지정하는 튜플(tuple)이다. dict는 클래스 몸체의 속성을 정의하는 사전이다. type 클래스는 클래스를 생성하는 메타 클래스이고, type으로부터 상속 받은 클...
#
abc모듈
#
추상클래스
#
추상메소드
#
읽기전용
#
메타클래스
#
Python
#
property속성
#
Metaclass
#
abstractproperty
#
abstractmethod
#
파이썬
원문 링크 : [파이썬 기초] - 메타 클래스와 추상 클래스