La encapsulación y la abstracción son dos conceptos diferentes pero relacionados que se encuentran en los lenguajes OOP (Programación Orientada a Objetos). La encapsulación es el concepto de combinar datos y comportamiento juntos como una sola entidad. Por otro lado, la abstracción es el proceso de presentar cómo se comporta una entidad y se ve en lugar de cómo se implementa.
La abstracción es una técnica que nos ayuda a identificar lo que debería ser visible y lo que debería estar oculto. La encapsulación es la técnica para empaquetar la información de manera que hace visible lo que debería ser visible y oculta lo que debería estar oculto. En otras palabras, la encapsulación se puede identificar como un paso más allá de la abstracción.