Концепция единого интерфейса для множества функций. Например, в нескольких разных классах может присутствовать некая функция Print, которая выводит данные на принтер в формате, подходящем для объектов конкретного класса. Компилятор выбирает нужную функцию Print в зависимости от того, какой объект выводится на принтер.