Când un obiect A conține o referință la un alt obiect B sau putem spune că obiectul A are o relație HAS-A cu obiectul B, atunci se numește agregare.
Agregarea ajută la refolosirea codului. Obiectul B poate avea metode de utilitate și care pot fi utilizate de mai multe obiecte. Orice clasă care are obiectul B, atunci poate utiliza metodele acestuia.
Exemplu
public class Vehicle{}public class Speed{}public class Van extends Vehicle { private Speed sp;}
Aceasta arată că clasa Van are viteza HAS-A. Având o clasă separată pentru Viteză, nu trebuie să punem întregul cod care aparține vitezei în interiorul clasei Van, ceea ce face posibilă reutilizarea clasei Viteză în mai multe aplicații.
În caracteristica orientată pe obiecte, utilizatorii nu trebuie să își facă griji cu privire la obiectul care face munca reală. Pentru a realiza acest lucru, clasa Van ascunde detaliile de implementare față de utilizatorii clasei Van. Deci, în principiu, ceea ce se întâmplă este că utilizatorii vor cere clasei Van să facă o anumită acțiune, iar clasa Van va face munca de una singură sau va cere unei alte clase să efectueze acțiunea. acest concept de a conține un obiect pentru a face o acțiune este denumit agregare.
.