Я обсуждаю правильный OO-дизайн для использования функциональности другого объекта (методов) из класса java, в то время как оба объекта остаются максимально разделенными.
Например, в какой-то момент в моем классе, чтобы реализовать мою логику, мне нужно вызвать метод, который принадлежит другому объекту, например, вспомогательный класс. Этот вспомогательный класс не должен быть каким-либо образом связан с моим исходным классом, у него просто есть определенный метод, который видим и доступен для использования моим классом.
После того, как логика реализована, вспомогательный метод (или вспомогательный объект) в дальнейшем не нужен.
Очевидно, мне понадобится ссылка на этот вспомогательный объект, чтобы использовать его метод. Но чтобы обеспечить инкапсуляцию, я не должен объявлять переменную экземпляра в моем исходном классе для ссылки на этот вспомогательный объект? Это рассуждение правильно? Кроме того, вспомогательный класс не знает ни о каком клиентском классе, который мог бы его использовать.
Будет ли локальная переменная более подходящей в этом случае? Объявить и создать экземпляр вспомогательного объекта в методе, который будет использовать его функциональность? Где лучшее место в моем исходном классе для объявления и создания экземпляра такого вспомогательного объекта?
Мне было интересно, есть ли высокоуровневый пример или это объясняется чуть более подробно в статьях ОО. Я был бы признателен за любую информацию, ориентированную на инкапсуляцию, или подсказку по этому поводу.