2015년 5월 30일 토요일

파이썬의 클래스(class) 정의 및 객체 생성

 파이썬은 클래스를 지원하므로 객체 지향적인 프로그래밍을 할 수 있다. 사실 지금까지 다뤄온 기본 자료형도 다 클래스이다. 클래스는 새로운 자료형을 정의하는 것이고 객체(object)는 클래스의 인스턴스(instance, 클래스가 구체화된 것)를 의미한다.

클래스는 다음과 같이 정의한다.

class 식별자:
클래스 본체

보통 클래스의 식별자는 대문자로 시작한다. 예를 들어 Person, Robot, Car, Point 등이다. 클래스 본체는 이 클래스에 속하는 변수와 함수를 정의하게 된다. 특별히 클래스에 속한 변수들을 필드(field), 클래스에 속한 함수들을 일반 함수들과 구분하기 위해서 메소드(method)라고 부르며 이 둘을 통칭하여 속성(attribute)라고 한다.

이 용어들에 대해서는 숙지해 두는 것이 좋다.

  • 필드 (field) : 클래스에 내장된 변수
  • 메쏘드 (method) : 클래스에 속하는 함수
  • 속성 (attribute) : 필드와 메쏘드를 통칭하여 속성이라 한다.

가장 간단한 형태의 클래스를 다음과 같이 정의해 보자.

class Robot:
pass

이 클래스는 보면 알겠지만 본체가 없다. 이 클래스의 인스턴스를 생성하려면 다음과 같이 하면 된다.

>>> asimo = Robot()

이제 asimo 는 Robot 클래스의 객체가 되었다. 이와 같이 어떤 클래스의 객체(인스턴스)를 생성하려면 다음과 같이 한다.

변수명 = 클래스명()

마치 함수를 호출하는 것과 유사하다.


댓글 없음:

댓글 쓰기