Mid OOP Why is composition preferred over inheritance in some cases? Provides flexibility, reduces tight coupling, and avoids deep hierarchies.