Answer:
Maintainability, Reusability , Encapsulation , Scalability
Step-by-step explanation:
Maintainability --> Breaks down large and complex systems into smaller parts which are easier to manage. With each object having clear purpose.
Reusability --> Once a object is tested it can be reused in different aspect of systems allowing code duplication to decrease.
Encapsulation --> Reduces the risk of unintended interference since internal workings of an objects are hidden from other objects.
Scalability --> New objects can be added to the system without having to change the existing code. (using objects allows code to be in a generic format thus easier code addition in the form of objects)