Pilares da Orientação a Objeto

Agregação: Um jeito de agregar objetos a outros, as informações de um objeto são usadas para completar outro objeto de outra classe.

Fonte: Autoral.

Composição: Uma maneira de se combinar objetos simples para formar objetos mais complexos. Implica em uma relação de ter (ou é composto), ao invés de uma relação de ser (obtida via herança)

Fonte: Autoral.

Um objeto (A) pode ter uma relação com outro objeto (B) de diversas formas (multiplicidade):

A multiplicidade é implementada usando objetos. Um objeto pode ter um objeto como atributo:Um relógio possui data e hora.

Outro exemplo é que um objeto pode ter uma coleção de objetos como atributo:

Uma turma possui vários alunos (implementado como arrays, coleções ou outros).

Fonte: Autoral.

Herança vs Composição

Herança e composição são dois mecanismos para reutilização de funcionalidades.