<P> In class - based programming, methods are defined in a class, and objects are instances of a given class . One of the most important capabilities that a method provides is method overriding . The same name (e.g., area) can be used for multiple different kinds of classes . This allows the sending objects to invoke behaviors and to delegate the implementation of those behaviors to the receiving object . A method in Java programming sets the behavior of a class object . For example, an object can send an area message to another object and the appropriate formula is invoked whether the receiving object is a rectangle, circle, triangle, etc . </P> <P> Methods also provide the interface that other classes use to access and modify the data properties of an object . This is known as encapsulation . Encapsulation and overriding are the two primary distinguishing features between methods and procedure calls . </P> <P> Method overriding and overloading are two of the most significant ways that a method differs from a conventional procedure or function call . Overriding refers to a subclass redefining the implementation of a method of its superclass . For example, findArea may be a method defined on a shape class . The various subclasses: rectangle, circle, triangle, etc. would each define the appropriate formula to calculate their area . The idea is to look at objects as "black boxes" so that changes to the internals of the object can be made with minimal impact on the other objects that use it . This is known as encapsulation and is meant to make code easier to maintain and re-use . </P> <P> Method overloading, on the other hand, refers to differentiating the code used to handle a message based on the parameters of the method . If one views the receiving object as the first parameter in any method then overriding is just a special case of overloading where the selection is based only on the first argument . The following simple Java example illustrates the difference: </P>

Which operator is used to access methods and properties of a class