This is familiar from our everyday world as human beings. For example, when I meet a new person for the first time, I generally try to learn that person's name. But even before I know what the name is, I know that the person has one - in OO terms a name is one of the attributes of class Person, and every instance of this class has his or her own name. A class member is associated with the class as a whole, rather than with any particular instance. We will likely associate this with the class as a whole, rather than with each individual account, since all accounts of the same type have the same interest rate - we don't have a different rate for each individual account.
Objects interact by means of messages .
The account object is responsible for subtracting the amount to be withdrawn from its current balance. In order to be able to respond to a message, the class involved must have as part of its definition a method for responding to that message. An important property of OO systems is that it is often the case that different classes of objects can respond to the same message - but in distinctive ways. Both might be able to respond to a calculateInterest message - with the checking account responding 0 and the savings account responding by multiplying the current balance by an interest rate. The ability for different objects to respond to the same message in different ways because they belong to different classes having different methods for that message is called polymorphism.