http://www.guj.com.br/posts/list/85835.java
Ai no caso de NotaFiscal e ItemDeNota você tem uma composição…uma nota não existe sem itens, e um item de nota não vai exister sem uma nota…
sendo assim, no código ao criar uma nota você precisa passar os seus itens…outro exemplo é estado e cidade.
em termos de código:
Dependência
classe A é dependente de classe B quando A tem um “import” de B
Associação
classe A está associada com B quando A tem um atributo de B
Agregação
Classe A está agregada com B quando na construção de A necessita-se de B
sendo que esse valor B pode ser alterado futuramente(Ex: PessoaFisica e Endereco)
Composição
Classe A é composta por B quando na construção de A necessita-se de B, sendo que esse valor B não pode ser alterado futuramente(método set privado)
Composição é o nível mais alto de acoplamento seguido de agregação, associação e dependência.
Toda composição é uma agregação, toda agregação é uma associação e toda associação é uma dependência.