Whenever you're ready, walk me through how you'd approach this.
Describe the four core principles of Object-Oriented Programming.
Define each principle, explain how it is represented in common languages such as Java, C++, or Python, and provide a concise example. Distinguish abstraction from encapsulation and explain how inheritance relates to polymorphism.