Object-oriented programming concepts include objects, classes, encapsulation, inheritance, and polymorphism. An object has state, behavior, and identity, while a class defines common properties and behaviors of objects. Encapsulation binds data and functions within a class, hiding implementation details and only allowing access through defined interfaces. Inheritance allows new classes to inherit properties from existing classes without modifying them, promoting code reuse. Polymorphism allows the same message to be interpreted differently depending on the object that receives it.