Инкапсуляция - это то, как вы уменьшаете тесную связь между компонентами, скрывая детали их реализации, в то же время демонстрируя согласованный интерфейс. Инкапсуляция означает, что вы можете изменить способ, которым юнит выполняет свою работу, не влияя на поведение всех других юнитов, которые его используют.
Абстракция является более общей концепцией упрощения или обобщения чего-либо. Для лучшего объяснения: http://en.wikipedia.org/wiki/Abstraction_(computer_science)