인스턴스 속성이 생성된 객체별로 가진 별도 값이었다면, 클래스 속성은 이와 반대로 같은 클래스에서 생긴 객체일 때 공유하는 값을 의미합니다.
Robot 클래스로 만들어진 전체 객체 개수를 계산하고자 robot_total_count 변수를 만들어 클래스 속성으로 사용해 보겠습니다. 이 변수의 생성 위치는 생성자 안이 아니라 클래스 시작 부분입니다.
class Robot:
robot_total_count = 0
def __init__(self, name):
print("robot 객체 {}(가) 만들어집니다.".format(name))
self.name = name
Robot.robot_total_count = Robot.robot_total_count + 1
print("현재까지 생성된 로봇의 수: {}".format(Robot.robot_total_count))
def print_name(self):
print("제 이름은 {}입니다.".format(self.name))
robot1 = Robot("첫째로봇")
robot2 = Robot("둘째로봇")
이렇게 변수를 만들었다면 다음 문법으로 여기에 접근할 수 있습니다.
클래스명.클래스속성명