OOP is no special; you can make reusable code with or without OOP. Pure functions are particularly reusable: for example, java.lang.math.sqrt(double)
takes a number in and gives a number out. No OOP, but definitely more reusable than most code out there.