A programming paradigm that uses "objects" and their interactions to design applications and computer programs.