CIBC interview question

explain what is object-oriented programming