Я не понимаю, как можно нарушить инкапсуляцию? Это относится к методам получения полей, хранящихся в памяти?
Да, это относится к методам получения полей, которые должны храниться в памяти. Объект, имеющий эти поля (он же Исходный), не хочет нарушать собственную инкапсуляцию, публично выставляя свои поля. Тогда проблема заключается в том, как сохранить поля (в Memento), не делая их открытыми.
Другими словами, как мы можем сохранить частные поля без добавления методов-получателей? Мы не хотим нарушать инкапсуляцию, подвергая каким-либо образом данные внутри нашего объекта (Originator).
Рефакторинг Гуру имеет отличную статью, объясняющую это.