La agregación es un tipo de relación en la programación orientada a objetos (POO) en la que un objeto contiene o utiliza otro objeto, pero ambos pueden existir de forma independiente. Se conoce como una relación de tipo "tiene un" (has-a). Es una forma de reutilizar clases sin necesidad de usar herencia. ¿Cómo funciona? En una relación de agregación: El objeto principal (contenedor) tiene una referencia a otro objeto. El objeto contenido puede existir antes, durante o después del objeto principal. Si el objeto principal se elimina, el objeto contenido puede seguir existiendo. Ventajas Favorece la reutilización de código. Reduce el acoplamiento entre clases. Hace que el programa sea más flexible y fácil de mantener. Permite compartir un mismo objeto entre varias clases. Diferencia entre herencia y agregación Herencia Agregación Relación "es un" (is-a). Relación "tiene un" (has-a). Una clase hereda de otra. Una clase contiene o utiliza otra. Se utiliza para especializar una clase. Se utiliza para construir objetos con otros objetos. Ejemplo: Un Perro es un Animal. Ejemplo: Un Auto tiene un Motor. En resumen La agregación es una relación entre clases donde un objeto contiene o utiliza otro, pero ambos pueden existir de manera independiente. Es una técnica muy utilizada en la programación orientada a objetos para crear programas más modulares, reutilizables y fáciles de mantener.