Aggregation หมายถึงความสัมพันธ์ HAS-A มาลองดูตัวอย่างก่อน:
ตัวอย่าง
public class Vehicle{} public class Speed{} public class Van extends Vehicle { private Speed sp; }นี่แสดงว่าคลาส Van HAS-A Speed ด้วยการมีคลาสแยกสำหรับ Speed เราไม่ต้องวางโค้ดทั้งหมดที่เป็นของ Speed ไว้ในคลาส Van ทำให้สามารถนำคลาส Speed ไปใช้ซ้ำในหลายแอปพลิเคชันได้
ในคุณสมบัติเชิงวัตถุ ผู้ใช้ไม่จำเป็นต้องกังวลว่าออบเจ็กต์ไหนทำงานจริง เพื่อให้บรรลุสิ่งนี้ คลาส Van ซ่อนรายละเอียดการนำไปใช้งานจากผู้ใช้ของคลาส Van ดังนั้นพื้นฐานแล้ว สิ่งที่เกิดขึ้นคือ ผู้ใช้จะขอให้คลาส Van ทำการกระทำบางอย่าง และคลาส Van จะทำงานด้วยตัวเอง หรือขอให้คลาสอื่นทำการกระทำ แนวคิดของการมีออบเจ็กต์เพื่อทำการกระทำ เรียกว่า Aggregation