By referencing a `Product` object, a `CartItem` can always access the most current product data, such as price changes, without redundancy. Copying details can lead to inconsistencies and maintenance challenges. For example, if a product price changes, the `CartItem` with a reference will automatically reflect this change.
Additional Notes
Why should a CartItem class reference a Product rather than copy its details?