내가 보려고 만든 블로그

<파이썬> 메타 클래스( Meta Class) 란? 본문

Python | Web/Python

<파이썬> 메타 클래스( Meta Class) 란?

정의김 2021. 7. 3. 20:41

파이썬은 모든 것이 객체다. 라는 말을 들은 적이 있을 것 이다.

심지어 클래스도 객체다.

클래스를 생성 후 프린트 하면 다음과 같이 프린트를 하면 객체와 같이 프린트가 되는 것을 볼 수 있으며

클래스의 타입을 프린트하면 클래스의 타입이 type 인 것을 확인 할 수 있다.

그런데 모든 것이 객체이고 클래스마저 객체라면 클래스라는 객체를 만들어주는 클래스는 무엇일까?

그것이 바로 메타 클래스이다. 메타클래스를  이용하여 클래스의 동작을 제어할 수있고 특별한 클래스를 만들어 줄 수 있다.

 

메타클래스 생성

그렇다면 메타 클래스의 생성은 어떻게 하는 것일까? 바로 위에서 클래스의 타입은 type인 것을 확인하였다. 이 type 을 활용하여 메타클래스를 생성할 수 있다.

1.  type 을 이용하여 클래스 생성

2. type을 상속하여 클래스 생성

 보통 2의 방법을 많이 사용하게 되며 예제에서는 pass를 이용해 간단히 생성하였지만 type을 이용하여 여러가지 독특한 클래스를 생성할 수 있다.

'Python | Web > Python' 카테고리의 다른 글

<파이썬> Descriptor  (0) 2021.08.08
<파이썬> Property  (0) 2021.08.08
< 파이썬 > Generator 란  (0) 2021.08.01
<파이썬> Magic Method 란?  (0) 2021.07.18
<파이썬> 클래스의 상속과 super 에 대하여  (0) 2021.07.11