Kun objekti A sisältää viittauksen toiseen objektiin B tai voimme sanoa, että objekti A:lla on HAS-A-suhde objektiin B, sitä kutsutaan aggregoinniksi.
Aggregointi auttaa koodin uudelleenkäytössä. Objektilla B voi olla apumenetelmiä, joita useat objektit voivat hyödyntää. Millä tahansa luokalla on objekti B, niin se voi hyödyntää sen metodeja.
Example
public class Vehicle{}public class Speed{}public class Van extends Vehicle { private Speed sp;}
Tämä osoittaa, että luokka Van HAS-A Speed. Kun Speedille on oma luokka, meidän ei tarvitse laittaa koko Speedille kuuluvaa koodia Van-luokan sisälle, mikä mahdollistaa Speed-luokan uudelleenkäytön useissa sovelluksissa.
Objektiorientoituneessa ominaisuudessa käyttäjien ei tarvitse välittää siitä, mikä objekti tekee todellisen työn. Tämän saavuttamiseksi Van-luokka piilottaa toteutuksen yksityiskohdat Van-luokan käyttäjiltä. Periaatteessa käy siis niin, että käyttäjät pyytävät Van-luokkaa tekemään tietyn toiminnon ja Van-luokka joko tekee työn itse tai pyytää toista luokkaa suorittamaan toiminnon.Tätä käsitettä, jossa objekti sisältää toiminnon, kutsutaan nimellä Aggregaatio.