더북(TheBook)

인스턴스 속성이 생성된 객체별로 가진 별도 값이었다면, 클래스 속성은 이와 반대로 같은 클래스에서 생긴 객체일 때 공유하는 값을 의미합니다.

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("둘째로봇")

이렇게 변수를 만들었다면 다음 문법으로 여기에 접근할 수 있습니다.

클래스명.클래스속성명
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.