Function overloading helps overcome this problem by making similar functions have the same name. The name is contextual in that what it means depends on what is being operated on. For example; most user interface controls have the same or similar names to those of other completely different applications.
In objects it has to do with a method doing object specific work. When a method called (x) is referenced on objects (a) and (b) it does equivalent things to each. For example; page.print should do something similar to form.print