A field on the parent class used by only one subclass — `Employee.quota` used only by `Salesperson`, ignored by everyone else.
A field used by only one subclass moves out of the parent and into that subclass.
Before the refactoring
class Employee {quota; // only Salesperson uses this}
After the refactoring
class Employee {}class Salesperson extends Employee { quota; }
Every instance carries storage it doesn't use; readers can't tell from the parent's shape which fields apply; serialization carries dead weight.
If the field is occasionally consulted in the parent for type checks, pushing it down forces awkward downcasts — verify usage first.
Other subclasses no longer carry storage they ignore; the parent's surface shrinks; the field's meaning becomes local.
Pushing down fields the parent occasionally consults for type checks or polymorphic dispatch — forces awkward downcasts at the parent's consumers.