Nowadays it is quite important to speak several languages. Especially if you live in a country which language is quite difficult and not recognized all over the world, like for example Germany. Although it is a very small country it is known in the world, but only few people speak German. Therefore it is normal in Germany to learn English at a very young age, because English is the world language- in almost every place you can communicate speaking English. The new school politics now passed the law to introduce English in the second grade of school.
I would say that it is possible to learn a different language in your home country, but that the efficiency and fluency of the language would be even better when a person lives several months abroad to train the language where it is really used.
With sixteen years I went one year to Colombia, knowing only a few words of Spanish, to learn my third language. In the beginning it was very difficult, but afterwards I could say that I learned it by hearing not by studying it in textbooks. I would even admit that my Spanish is now better than my English because I never lived some months in an English speaking country. The main advantage is that you are learning it while you need to use it, similar to children when they grew up and learn how to communicate. Studying a country far away from its utility is possible, but I am convinced that it is more efficient if somebody does not have another possibility than using the language yourself- so it is possible that a person not only learns a new language theoretically but also practically in the certain country. Furthermore people adapt the accents and regional specialties of the language; meanwhile the specific gets often lost by teachers teaching foreign languages in school.
I would recommend everyone to spend some time in a country where the desired language is spoken to learn it. Although it might cost time and money it is really worth it.