Explain the core principles of object-oriented programming (OOP) and provide a real-world example of polymorphism.