C, then? Function pointers. Oh dear. Java? Strategy pattern can be used to emulate it.
I don't know what a strategy pattern is - what does this mean? What's a "strategy pattern"? I would prefer not to guess.
In C function pointers provided a form of overloading - I'm sure cfront must have exploited this in the early days.
Even FORTRAN had this, in the form of multiple entry points.