Last week, an anonymous non-German was confused by the German area codes so I got this question:
“When I call a German cell phone, do I have to dial an area codes as well?!”
As far as I know, cell phones always have their ‘own’ codes that are independent of the area the phone is in. After all, it is a mobile phone so it would be rather inconvenient if I had to change my first four digits every time I travelled from Hamburg to Düsseldorf. So the answer your personal German gives you is simple: No.
The more interesting part is the underlying meaning of the different cell phone codes: a few years ago, you could very easily tell if someone had a prepaid phone card (i.e. was too young and had parents too uncool to sign a phone contract) or a contract. Numbers starting with 017 were the prestigious contract numbers, usually belonging to well-respected companies such as Telekom or O2. The numbers with 015 in the beginning were not as distinguished and I still am not 100 procent reconciled with having a 015 number now. Oh well, I guess I am old enough to derive prestige from different things than my cell phone code.
And yes, landline numbers do have area codes. You must dial them if you want to get anywhere outside the town you are in. A German can usually guess the approximate location of a caller by their area code. The North is 04, the South calls with 06 and 07, 08 means Bavaria and the area around Berlin is 03. So next time you see a 02 area code, pick up, it might be me!
Sadly, the area codes and the zip codes do not correspond, often confusing me.