Override: definition
An override is a file placed in PrestaShop's override/ folder that replaces the behaviour of a core class, without modifying the original file.
How an override works
Every PrestaShop class, for example Product or Order, can be overridden by creating a file of the same name in override/classes (or override/controllers for a controller). PrestaShop loads this version instead of the original, which makes it possible to change a specific behaviour without touching the CMS's source code.
Unlike a module, which hooks into hooks defined in advance without rewriting any existing method, an override can redefine any method of a core class. That's more powerful, but also more fragile.
The risk shows up at update time. If PrestaShop changes the original class, an override written against the older version can conflict with it, trigger an error, or silently ignore the change. Overrides should therefore be reserved for needs that hooks don't cover, and documented ahead of every version upgrade.
Frequently asked questions
Should overrides be avoided as much as possible?
How do you know if a store contains overrides?
Can an override coexist with a module on the same feature?
Describe your need in one minute
A few targeted questions so I can reply with an estimate rather than another questionnaire.