[PYTHON/COMMON] 메타 클래스 : 클래스 정의 검증하기


■ 메타 클래스를 사용해 클래스 정의를 검증하는 방법을 보여준다.

• 메타 클래스를 응용하는 가장 간단한 사례는 클래스를 올바르게 정의했는지 검증하는 것이다.
• 복잡한 클래스 계층을 만들 때 스타일을 강제하거나 메소드를 오버라이드하도록 요구하거나 클래스 속성 사이에 제한을 두고 싶을 수도 있다.
• 메타 클래스는 서브 클래스가 정의될 때마다 검증 코드를 실행하는 신뢰할 만한 방법을 제공하므로 이럴 때 사용할 수 있다.
• 보통 클래스 검증 코드는 클래스의 객체가 생성될 때 __init__ 메소드에서 실행된다.
• 메타 클래스를 검증용으로 사용하면 오류를 더 빨리 일으킬 수 있다.
• 메타 클래스는 type을 상속하여 정의한다.
• 메타 클래스는 기본으로 자체의 __new__ 메소드에서 연관된 class 문의 컨텐츠를 받는다.
• 여기서 타입이 실제로 생성되기 전에 클래스 정보를 수집할 수 있다.

예제 코드 1 (PY)

예제 코드 2 (PY)