On Mon, Sep 15, 2003 at 09:29:50AM +0200, Robert Klemme wrote: > "overloading" is the correct term. "Redefinition" is used for sub class > methods that introduce a new definition for method defined in a super > class. Actually, "redefinition" is a general term for defining a method which has already been defined somehow; there are many possible ways to do this in a dynamic language like Ruby. In the specific case of a subclass defining a method that is also defined in a superclass, the subclass method is said to "override" the superclass method. Thus we have two unfortunately similar terms for very different things: Overloading: distinguishing methods based on arguments/signature Ruby 1 doesn't have this; C++ and Java do; Perl6 will, according to the current design. Overriding: hiding superclass methods with new implementations All O-O languages, including Ruby, have this. -Mark