"Calling a method" and "sending a message" are simply two terms from two different communities for the same thing.
When Alan Kay came up with the term "Object Orientation", he was heavily inspired by what would later become the ARPANet and then the Internet: independent machines ("objects") with their own private memory ("instance variables") that communicate with each other by sending messages.
So, in the lingo of Smalltalk and its successors, derivatives and cousins (Self, Ruby, Python, ECMAScript/JavaScript, Objective-C, Java, …) objects send messages to other objects and those objects then "respond" to that message however they see fit. The most popular reaction is to invoke a method of the same name (i.e. if you send the message foo
to bar
, the result will be that the foo
method of bar
will be invoked), but an object may also forward the message to another object or respond with a pre-calculated value (instance variable), or just blatantly ignore it.
In the lingo of Simula and its family, this is called "calling a method" and the process of deciding what to do in response is called "virtual dispatch. In the C++ family, it is called "calling a virtual function" and "vtable lookup".
But it's all more or less the same.
Personally, I prefer the messaging metaphor, because it highlights encapsulation (when you send a message to someone, you have no idea what he does with the message, the only thing you can observe is the reply), and because it evokes the analogies of handing the message off to someone else etc.