Pillars of Object Oriented Programming

This is probably the top case that is known in object oriented software development jobs and asked in many of interviews. There are many of descriptions out there on the internet, but somehow i felt the immense need of explaining things in my words. These pillars can be listed like this; 1. Encapsulation, 2. Inheritance, 3.