실행결과 object created
user : greg, balance : 5000
user : john, balance : 1000
deposit
user : greg, balance : 5500
withdraw
withdrawn money : 1500
class member
2
class method
The number of accounts : 2
message passing
user : greg, balance : 4000
user : john, balance : 1000
transfer succeeded
user : greg, balance : 2000
user : john, balance : 3000
주석을 통해 충분히 이해할 수 있을 것이므로 #5와 #6에 관해서만 이야기하겠습니다. 객체가 없으면 인스턴스 메서드는 호출할 수 없습니다. 첫 번째 인자로 전달할 객체가 없기 때문입니다. 그러므로 #5처럼 대부분 객체를 사용해서 인스턴스 메서드를 호출합니다. 하지만 #6처럼 클래스를 사용해서 호출할 수도 있습니다. 주의할 점은 클래스로 호출하는 것은 메서드가 아니라 함수라는 점입니다. 함수이므로 첫 번째 인자 self에 객체를 넘겨 주어야 합니다.