All these are oops concept. Object-oriented problem solving approach
is very similar to the way a human solves daily problems. It consists of identifying objects and how to use these objects in the correct sequence to solve
the problem.In other words, object-oriented problem solving can consist of designing objects whose behavior solves a specific problem.
OOPs uses a different set of programming languages than old procedural programming languages (C, Pascal, etc.). Everything in OOP is grouped as self sustainable "objects". Hence, you gain re-usability by means of four main object-oriented programming concepts.
In order to clearly understand the object orientation, let’s take your “hand” as an example. The “hand” is a class. Your body has two objects of type hand, named left hand and right hand. Their main functions are controlled/ managed by a set of electrical signals sent through your shoulders (through an interface). So the shoulder is an interface which your body uses to interact with your hands. The hand is a well architected class. The hand is being re-used to create the left hand and the right hand by slightly changing the properties of it.
Evolution of OOPs :The evolution of OOPs shown below :