The OOP programming paradigm
• OOP  solves software development problems
• Code reuse
• Software design
• Bugs
• Reusing code requires adaptation
• Reuse by inheritance and overloading
• But, also modularity and ‘cut-n-paste’