2.10 클래스
클래스(class)란 간단히 설계도라고 할 수 있습니다. 비유를 들어 설명하자면 자동차를 만들 때는 설계도가 필요합니다. 설비를 갖춘 공장이라면 설계도를 가지고 어디서든 동일한 자동차를 만들어 낼 수 있습니다. 하지만 자동차를 어떻게 만들지에 관한 내용이 설계도에 없다면 설비가 아무리 좋은 공장도 무용지물일 것입니다.
프로그래밍 세계에서 클래스는 자주 만들어 사용하고자 하는 것의 설계도라고 할 수 있습니다. 이 클래스 안에는 변수와 함수를 정의해서 어떤 기능들을 할 수 있는지 명시할 수 있습니다. 이렇게 명시한 내용을 실체화하여 사용하는 과정을 ‘클래스를 인스턴스(instance)화한다’고 표현합니다. 그러면 일단 클래스를 정의하는 방법부터 알아보겠습니다.
class 클래스명:
def 함수 1(self):
기능 1
def 함수 2(self):
기능 2
class라는 키워드 다음에 클래스명(클래스 이름)을 작성합니다. 클래스명은 보통 대문자로 시작하며 class 내부에서만 사용할 수 있는 함수들을 원하는 대로 정의할 수 있습니다. 예를 들어 로봇이 할 수 있는 일을 몇 가지 함수로 가지고 있는 클래스를 만들어 보겠습니다.
class Robot:
def move(self, direction):
print("{} 쪽으로 움직입니다.".format(direction))
def fly(self):
print("날아갑니다.")
지금까지 살펴본 부분 중 중요하지 않은 것이 없지만, class는 특히 중요하고 제일 어려울 수도 있는 부분이므로 하나씩 천천히 살펴보겠습니다.