Дмитрий , спасибо за ответ!
Тут я осознал следующее, что Композиция - это жесткая инкапсуляция. По сути я не могу обратиться напрямую к составной части объекта и не могу получить ссылку на составную часть. Я могу взаимодействовать с составной частью только через public методы Главного объекта, если это реализовано.
Спасибо за ответ! Я бы не стал опираться на пример с телом человека....это пример для наглядности.
В жизни сложно найти такой пример, а вот в программировании наверное много.
Допустим вы обрабатываете массив объектов. Вам нужно удалить по фильтру. Вы удаляете кучу объектов, а составные части остались жить своей жизнью, потому что другой программист воспользовался геттером и получил кучу составных частей (объектов) для своей работы. GC удалил главные объекты, а составные части продолжают жить.
Иначе я не понимаю зачем разделять отношение классов на агрегацию и композицию.
Тут я осознал следующее, что Композиция - это жесткая инкапсуляция. По сути я не могу обратиться напрямую к составной части объекта и не могу получить ссылку на составную часть. Я могу взаимодействовать с составной частью только через public методы Главного объекта, если это реализовано.