더북(TheBook)

15.1 프로그래머 정의 타입

지금까지 파이썬의 내장 타입을 주로 썼지만, 이제는 새로운 타입을 정의할 차례다. 예제로 2차원 공간의 점을 표현하는 Point 타입을 생성할 것이다.

수학적 표기에서 점은 괄호 안에 좌표를 쉼표로 구분해서 쓰는 것이 보통이다. 예를 들어 (0, 0)은 원점이고, (x, y)는 원점에서 오른쪽 x 단위, 위로 y 단위인 점이다.

파이썬에서 점을 표현하는 방법은 몇 가지가 있다.

  • 좌표를 두 변수 x, y에 따로따로 저장한다.
  • 좌표를 리스트나 튜플에 원소로 저장한다.
  • 점을 표현하는 새로운 타입을 객체로 만든다.

새로운 타입을 만드는 것은 다른 옵션보다 더 복잡하지만, 곧 알게 되는 이점도 있다.

프로그래머 정의 타입은 클래스(class)라고 부른다. 클래스 정의는 다음과 같이 한다.

class Point:

"""2차원 공간에 점을 표현한다."""

선언부는 새로운 클래스가 Point라고 표시한다. 구현부는 무엇을 하는 클래스인지 설명하는 독스트링이다. 클래스 정의 안에는 변수와 메서드를 정의할 수 있지만, 이에 대해서는 조금 뒤에 설명하겠다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.