Encapsulation promotes maintenance and code reusability by controlling access to data and code. It is implemented by defining public interfaces and keeping data and non-essential operations private. Object-oriented programming provides advantages like clear modular structure, easy maintenance and modification of existing code, and reusable code libraries. Key concepts of OOP include objects, classes, abstraction, encapsulation, inheritance, and polymorphism. Abstraction focuses on essential features while hiding background details, and encapsulation stores data and accessing functions together within a class.