예를 들어 Time1.py에는 클래스 정의와 함수 정의 사이에 명확한 연결이 없다. 조금만 검토해보면 모든 함수가 적어도 Time 객체 하나를 인수로 받는다는 것을 알 수 있다.
이러한 관찰이 메서드(method)를 도입한 이유다. 메서드는 특정 클래스와 연결된 함수다. 지금까지 문자열, 리스트, 사전, 튜플에 대한 메서드를 살펴봤었다. 이 장에서는 프로그래머 정의 타입을 위한 메서드를 정의할 것이다.
메서드는 의미론적으로 함수와 같지만, 구문에 두 가지 차이점이 있다.
- • 메서드는 클래스와 메서드 사이의 관계를 명확하게 하기 위해 클래스 정의 안에 정의된다.
- • 메서드를 호출하는 구문은 함수를 호출하는 구문과 다르다.
앞의 두 장에서 사용한 함수를 가져와 메서드로 변환하는 작업을 몇 개의 절에 걸쳐서 할 것이다. 이러한 변환은 기계적으로 할 수 있다. 즉, 절차만 따르면 된다. 이러한 변환에 익숙해지면 하려는 작업에 따라 최적의 형태를 선택할 수 있다.