Object Oriented Programming (OOP) involves modeling real world objects like bank accounts as classes with data fields and methods. This allows customers to have different types of bank accounts and perform actions like depositing, withdrawing, and transferring money. The OOP approach groups related data and operations into classes, which can then be instantiated as objects. Inheritance allows subclasses to extend and modify parent classes, while encapsulation protects data and allows for consistency. Polymorphism enables one interface to have multiple implementations through inheritance and method overloading.