A method of software-development that groups related functions and data into reusable chunks. Properly handled, object-oriented programming can reduce development time on new projects.