simple googling or wikipedia search will get you the answers.
The question you have asked is really a nice one and has even been debated over. But now a days its just another boring theoretical question that appears in examinations and irritates us.
well coming back to point:- in simple words the concepts which form the basis of OOPs, namely data abstraction, data encapsulation , polymorphism, inheritance etc, emphasise on the data the programmer has to work with, rather than the method that is to be used for solving the problem.
This method makes the process of code management easier. And hence eases the life of programmer. If you are in your early stages of studying computer science then lemme tell you that the professional software developers do not develop those stupid programs that we students develop in our programming labs.
Hundreds and thousands of lines of codes are written. It is then that the operating system you are working on , or the office suite you are using comes into existence. And when it comes to improving or managing those codes it becomes highly difficult to make sense out of it if the code follows procedural approach.
where as this is not the scenario with OOPs, as you will come to higher levels, and develop projects, you will yourself come to know what OOP has to offer and what havoc procedural programming creates.
Despite of my hatred towards such theoretical questions (which i dont even feel like to attempt in examination) I typed a fortune here.
I am amazed with my self.
do go to wikipedia link is provided below:-