내가 보려고 만든 블로그
<파이썬> 메타 클래스( Meta Class) 란? 본문
파이썬은 모든 것이 객체다. 라는 말을 들은 적이 있을 것 이다.
심지어 클래스도 객체다.
클래스를 생성 후 프린트 하면 다음과 같이 프린트를 하면 객체와 같이 프린트가 되는 것을 볼 수 있으며
클래스의 타입을 프린트하면 클래스의 타입이 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 |