Generic programming and OOP share a common goal: creating simpler, reusable code through abstraction.