1 Classes and Data Abstraction Part I. 2 6.1 Introduction Object-oriented programming (OOP) Encapsulates data (attributes) and functions (behavior)