클래스는 데이터와 기능을 가지고 있는 인스턴트 객체를 생성하기 위한 역할을 합니다. 파이썬은 대표적인 객체지향 프로그래밍 언어이며 클래스는 일종의 설계도면입니다.
파이썬은 이 설계도면을 보며 하나의 인스턴스 객체를 만들어 냅니다. 그리고 인스턴스 객체를 선언하여 사용할 수 있게 됩니다.
입력
class Car(object): #앞 부분을 대문자로 사용합니다.
MaxSpeed = 300
MaxPeople = 5
def move(self, x):
print(x, '의 스피드로 움직이고 있습니다.')
def stop(self):
print('멈췄습니다.')
k5 = Car()
k3 = Car()
k5.move(10)
k5.stop()
k3.move(5)
k3.stop()
print(k5.MaxSpeed)
print(k3.MaxSpeed)
출력
10 의 스피드로 움직이고 있습니다.
멈췄습니다.
5 의 스피드로 움직이고 있습니다.
멈췄습니다.
300
300
클래스 변수는 클래스 바로 하위에 자리하고 있는 변수들 입니다.이 클래스 변수는 아래의 예시와 같이 클래스 이름을 통해서 접근할 수 있습니다.
(주의: 변수 이름으로 접근하지 않습니다!)
입력
class Car(object):
# 클래스 변수 위치 (파이썬 규약에 따라 indent로 결정)
kinds = []
MaxSpeed = 300
MaxPeople = 5
def move(self, x):
print(x, '의 스피드로 움직이고 있습니다.')
def stop(self):
print('멈췄습니다.')
k5 = Car()
Car.kinds.append('k5')
k3 = Car()
Car.kinds.append('k3')
print(k5.kinds)
출력
['k5', 'k3']
이 클래스 변수는 해당 클래스를 통해 만들어진 모든 인스턴스 객체들이 공유하는 변수 값입니다. 각 인스턴스 객체들 각자가 관리하고 있는 변수는 인스턴스 변수라고 합니다.
이 클래스 변수를 다룰 때는 조금 주의해야 할 것이 있습니다.