Explain the principles of object-oriented programming (OOP) and how they apply to your past projects.