UserService 인터페이스가 존재하고


UserService 인터페이스 구현체인 UserServiceImpl이 있음.


근데 Controller에서 보면 UserServiceImpl을 가져다 쓰는게 아니고 


UserService를 필드에 선언하고사용하는거잖아?


DI 의존성 주입으로 인해 UserService라고 필드에 선언했지만, 그 구현체인 UserServiceImpl이 주입되는거야?


그렇다고 하면 또 의문점이 생기는데, 만약 UserService 구현체가 두개가 있으면 어떡해?


UserServiceImpl과 UserServiceImpl2 구현체가 있다고 하면


뭘 가져다 쓰는거지?