class A:
count = 0
def __init__(self):
A.count += 1
def exclaim(self):
print("I'm an A")
@classmethod
def kids(cls):
print("A has", cls.count, "little objects.")
easy_a = A()
breezy_a = A()
wheezy_a = A()
A.kids()
class 메서드는 클래스 전체에 영향을 미친다.
class 에 어떤 변화는 모든 객체에 영향을 미친다.
클래스 정의에서 함수에 @classmethod 데커레이터가 있다면
이것은 클래스 메서드다.
또한 이 메서드의 첫 번째 매개변수는 클래스 자신이다.
파이썬 에서는 보통 이 클래스의 매개변수를 cls로 쓴다. class는 예약어기 때문에 사용할 수 없다.
결과 - A has 3 little objects.