It's simple enough, really.
In game development, you might have a "Game Object" class with a function called "Update" which handles everything a given object needs to do on a given frame. The game's main loop calls "Update" on every single Game Object (or, if we're clever, just the ones on screen), but the twist is that we don't actually use the base Game Object class - we use derived classes, like "Player" or "Bullet" or "Powerup" or "Enemy," which override "Update" in their own specific ways. When you tell a Player to Update, it might read the controller/keyboard input and move accordingly; when you tell an Enemy to Update, it might follow its AI instead. The point, however, is that each of these objects can be treated as a "Game Object" by the rest of the program; they feature the same functions, even if what those functions actually do is different.