Agregare în Java este o relație între două clase care este cel mai bine descrisă ca o relație „are-a” și „întreg / parte”. Este o versiune mai specializată a relație de asociere. Clasa agregată conține o referință la o altă clasă și se spune că deține proprietatea acelei clase. Fiecare clasă la care se face referire este considerată a fi o parte-a clasa agregată.
Proprietatea apare deoarece nu poate exista referințe ciclice într-o relație de agregare. Dacă Clasa A conține o referință la Clasa B și Clasa B conține o referință la Clasa A, atunci nu se poate determina nicio proprietate clară și relația este pur și simplu una de asociere.
De exemplu, dacă vă imaginați că o clasă Student care stochează informații despre elevii individuali la o școală. Acum presupune o clasă de subiect care conține detaliile despre un anumit subiect (de exemplu, istorie, geografie). Dacă clasa Student este definită pentru a conține un obiect de subiect, se poate spune că obiectul Student are o Subiect obiect. Obiectul Subiect constituie de asemenea
o parte-a obiectul Student - la urma urmei, nu există niciun elev fără subiect de studiu. Prin urmare, obiectul Student deține obiectul Subiect.