Object-Oriented programming is a programming paradigm based on concept of a objects, that uses abstraction to create model based on real world. It is a model organized around objects rather than “actions” and data rather than logic.
OOP provides a clear modular structure for programs.OOP makes it easy to maintain and modify existing code as new objects can be created with small differences to existing ones.
OOP is widely popular in large-scale software engineering. It is easy to model a real system as real objects are represented by programming objects in OOP.
In OOP, data can be made private to a class such that only member functions of the class can access the data. This principle of data hiding helps the programmer to build a secure program that can not be invaded by code in other part of the program.
Terminologies that we use in object-oriented programming.
Class: Defines the characteristics of the Object.
Object: An Instance of a Class. A class is a blueprint or prototype from which objects are created
Constructor: A method called at the moment of instantiation.
Method: An Object capability as walk.
Property: An Object characteristic, such as color.
Inheritance: A Class can inherit characteristics from another Class.
Encapsulation: A Class defines only the characteristics of the Object, a method defines only how the method executes.
Abstraction: Abstraction is the process of taking away or removing characteristics from something in order to reduce it to a set of essential characteristics.