In a more in-depth view towards OOP using domain specific terminology, following are the fundamental features we get:
The way we make a logical boundary around behaviours (methods) and data (properties) they work on is called Encapsulation.
As in real life, objects in OOP relate to each other in one way or another, the relationship in most of the case is parent/child relationship. The child objects inherent all the functionalities (methods) and data (properties) of their parents.
Along with inheritance, some other phenomena like method overloading and overriding, provide code-reuse, which is known to be a very basic feature of object oriented programming.
When we have ways to reuse our code through one way or other, we are also in need of some security regarding our source code. To protect it from unauthorized access/ alteration. In object oriented programming, this is called Information Hiding and is achieved through "Access Modifiers" which lets us restrict access to all or some parts of our objects methods and/or data.
Object-oriented programming (OOP) is a programming paradigm based upon objects (having both data and methods) that aims to incorporate the advantages of modularity and reusability. Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods.
For more information get help at CodeAvail- Online Computer Science Assignment