더북(TheBook)

2.10.6 속성

속성(attribute)이란 클래스에서 가지고 있는 변수라고 간단히 생각할 수 있습니다. 속성 종류는 두 가지가 있는데, 클래스 속성과 인스턴스 속성입니다.

먼저 인스턴스 속성이 무엇인지부터 살펴보겠습니다. 인스턴스 속성이란 객체별로 가지고 있는 변수를 의미합니다. 하나의 클래스에서 생성하는 객체마다 서로 다른 변수를 가지려면 초기화 함수에서 설정이 필요합니다.

class Robot:
    def __init__(self, name):
        print("robot 객체 {}(가) 만들어집니다.".format(name))
        self.name = name

robot1 = Robot("첫째로봇")
robot2 = Robot("둘째로봇")

이 코드의 생성자(__init__)를 보면 name을 입력받아 self.name에 저장하고 있습니다. self.name에 저장했다는 것은 이제 객체별로 객체를 생성할 때 전달받은 name을 따로 저장한다는 것을 의미합니다. 인스턴스 변수에 접근하는 방법은 함수를 사용하는 방법과 마찬가지로 객체에 점(.)을 찍고 변수명을 입력하면 됩니다.

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