Characteristics of Object-Oriented Programming
by MIchael Chittenden
1. Encapsulation
1.1. No direct access is granted to the data, instead it is hidden. To gain access to the data, you interact with the object responsible for the data
1.1.1. HR Departments are an example of real-life encapsulation
1.1.2. Security
1.1.3. Reliability
2. Polymorphism
2.1. Two different objects respond to the same request message in their own unique way; objects can respond to messages in their own unique implementation
2.2. Polymorphism is done through a process called overloading
3. Inheritance
3.1. Where classes and objects can be derived from parent classes and objects, inheriting all the characteristics and methods and then extending them
4. Objects
4.1. A structure for incorporating data and the procedures for working on that data
5. Abstraction
5.1. Refers to the ability to filter out unnecessary or unimportant information; when you interact with objects in the world you only want to focus on that which is important for the task you are wanting to carry out
5.2. Due to this, when two different objects interact with the same object, they will often deal with a different set of attrubutes