Object Oriented Programming
Sachini Sharikaにより

1. Benefits
1.1. Modularity
1.1.1. Making troubleshooting.
1.2. Reusability
1.2.1. Code can be reused through interface.
1.3. Security
1.3.1. Software maintenance is easier and internet protocols are protected.
1.4. Flexibility
1.4.1. Different objects can also pass through the same interface.
1.5. Interface description
2. Structure
2.1. Classes
2.1.1. Template or blueprint to create an object
2.2. Object
2.2.1. Instance of a class
2.3. Methods
2.3.1. function that are defined inside a class that describe that behaviors of an object.
2.4. Attributes
2.4.1. Defined in the class template and represent the state of an object.
3. Principles
3.1. Inheritance
3.1.1. This can be used to avoid the code repetition
3.2. Encapsulation
3.2.1. Is also refered to data hiding.
3.3. Abstraction
3.3.1. Data without including the non-essantial details
3.4. Polymorphism
3.4.1. Object to take on many form.