What is the difference between creating a new object and dependency injection? Please explain in detail.
When using an inversion-of-control container to perform dependency injection, the container creates the objects, and not the developer. This is done so that the container can "inject" these objects into other objects.