Several classes often share the same fields and methods, and copying that code into each one makes every fix a repeated chore. Inheritance lets a child class reuse a parent with extends and add or change only what is different. Use it when the child truly is a kind of the parent, like a Dog is an Animal. If one class only needs to use another, composition (holding it as a field) is usually the better choice.