Скрывать реализацию — единственный способ справиться со сложностью кода. Это можно делать различными способами и на разных уровнях.
Временная переменная
Скрывает совсем мало деталей реализации, и даже не скрывает, а просто отделяет реализацию от места использования результата.
[пример]
Метод или функция
Метод или функция прячут чуть больше: реализацию действия или запроса информации.
[пример]
Класс
Класс прячет не просто алгоритм, но набор алгоритмов — а вместе с ним и данные, с которыми работают алгоритмы.
[пример]