파이썬은 클래스를 지원하므로 객체 지향적인 프로그래밍을 할 수 있다. 사실 지금까지 다뤄온 기본 자료형도 다 클래스이다. 클래스는 새로운 자료형을 정의하는 것이고 객체(object)는 클래스의 인스턴스(instance, 클래스가 구체화된 것)를 의미한다.
클래스는 다음과 같이 정의한다.
class 식별자:클래스 본체 |
보통 클래스의 식별자는 대문자로 시작한다. 예를 들어 Person, Robot, Car, Point 등이다. 클래스 본체는 이 클래스에 속하는 변수와 함수를 정의하게 된다. 특별히 클래스에 속한 변수들을 필드(field), 클래스에 속한 함수들을 일반 함수들과 구분하기 위해서 메소드(method)라고 부르며 이 둘을 통칭하여 속성(attribute)라고 한다.
이 용어들에 대해서는 숙지해 두는 것이 좋다.
- 필드 (field) : 클래스에 내장된 변수
- 메쏘드 (method) : 클래스에 속하는 함수
- 속성 (attribute) : 필드와 메쏘드를 통칭하여 속성이라 한다.
가장 간단한 형태의 클래스를 다음과 같이 정의해 보자.
class Robot:pass |
이 클래스는 보면 알겠지만 본체가 없다. 이 클래스의 인스턴스를 생성하려면 다음과 같이 하면 된다.
>>> asimo = Robot() |
이제 asimo 는 Robot 클래스의 객체가 되었다. 이와 같이 어떤 클래스의 객체(인스턴스)를 생성하려면 다음과 같이 한다.
변수명 = 클래스명() |
마치 함수를 호출하는 것과 유사하다.
댓글 없음:
댓글 쓰기