Object Oriented programming concepts. Classes, objects, methods, functions, variables, data members, polymorphism, inheritance, instances, abstraction. modularity: breaking a big problem into smaller chunks. hierarchy: is-a relationship. generalization.