7. 클래스 7.1 클래스 정의하기

C급 개발자와 함께하는 파이썬

7. 클래스

파이썬의 모든것은 객체라는 작은 생명들로 이루어져 있으며 클래스는 이 객체를 만들기위한 일종의 명세서 입니다. 객체는 프로그램 코드를 구성하는 방법이며 복잡한 개념을 쉽게 만들어 준다.


파이썬은 클래스를 지원하므로 객체지향 프로그래밍을 할수 있습니다. 객체지향 프로그래밍은 여기서 배우기에는 너무 방대하기 때문에 여기서는 간략하게 객체지향 프로그래밍이 무엇인지에 대해서만 알아보도록 하겠습니다.


위키백과에서 객체지향 프로그래밍을 다음과 같이 정의 하였습니다.


“객체 지향 프로그래밍(영어: Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임의 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.

객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 또한 프로그래밍을 더 배우기 쉽게 하고 소프트웨어 개발과 보수를 간편하게 하며, 보다 직관적인 코드 분석을 가능하게 하는 장점을 갖고 있다. 그러나 지나친 프로그램의 객체화 경향은 실제 세계의 모습을 그대로 반영하지 못한다는 비판을 받기도 한다.”


이러한 객체지향 프로그래밍의 가장 기본이 되는 클래스에 대해서 알아보도록 하겠습니다. 특히 파이썬에서의 클래스를 만들고 사용하는 방법에 대해서 말이죠.


7.1 클래스 정의하기

클래스를 정의하는 방법은 아주 간단합니다. 위와 같이 class ClassName() 이렇게 정의하면 됩니다.

지금 클래스트 pass를 넣어 아무런 동작을 하지 않고 단지 클래스만을 선언한 것입니다.


그럼. 클래스에는 함수를 어떻게 만들까요. 자동차니까. 전진, 후진, 좌회전, 우회전의 기능를 가지고 있을 것입니다. 그럼 다음과 같이 만든다고 하면 클래스를 어떻게 만드는지 확인해보겠습니다.

run(), back(), left(), right()



위에는 자동차의 기본 동작을 함수로 정의하였습니다.

기본 동작은 위에서 말한것처럼. 전진, 후진, 좌회전, 우회전 입니다. 각각의 함수는 어떤 동작을 하는지 출력하는 기능을 가지고 있습니다. 우리가 자동차를 만드는것도 동일한 방법입니다. 자동차를 만들기 위해서 필요한 부품들이 있고 이러한 부품들이 모여서 동작을 하는데 이러한 동작하나하나가 바로 클래스에서 함수라고 할수 있습니다.


뭐라고 단정짓기는 어려워요. 10년이란 세월동안 이처럼 많은 사람의 사랑을 받을 수 있다는 것은 행운이라고 생각해요. 데뷔하고 얼마동안은 인기가 막 올라가는 걸 몸으로 느낄 정도였어요. 물론 돈으로도 느끼긴 했지만요. 이젠 이런 생각이 들어요. 왜 흔히 ‘인기에 연연하지 않은 영원한 연기자로 남고 싶어요’라는 말을 인터뷰 때마다 하잖아요. 사실 그말처럼 어려운 말이 없어요. 저도 인기가 덧없음을 피부에 와닿게 경험해보지는 못했지만 초창기에 비하면 대범해진 것은 사실이에요. 하지만 우리같은 사람은 대중들의 시선과 관심을 먹고 살잖아요. 그것에서 벗어나면 어떤 결과가 올지 안봐도 뻔한 노릇이고 …. 사실은 하루하루가 긴장의 연속일 수 있어요. 관록이 붙고 노련해진다는 것은 그런 긴장의 연속 속에서 스스로가 평상심을 찾고 중심을 잡을 수 있다는 것 아니겠어요.