Basic Concepts of OOP
1. Simulating the behavior of objects ( e.g...., an array of data structures can be sorted or indexed, a stack can be used for pushing or popping data). OOP concepts are based on the concepts of Computer Simulation.
2. Abstract Data Types (ADTs) consists of {data structures + operations or functions}, (e.g....., a Matrix can be defined as an ADT consisting of a 2- dimensional array + the operations of inverse, transpose, and other operations and methods which can be applied to objects of type Matrix).
3. Hiding implementation details using encapsulation, where each class of objects consists of a private section, a protected section, and a public section. Data structures and functions in a private class section can only be accessed locally within the class. The protected class section can also be accessed by derived classes.