Les namespaces (ou espaces de noms) permettent d'encapsuler le code dans des espaces virtuels exactement comme les dossiers dans un système de fichiers. On peut par conséquent créer des classes avec le même nom sans avoir de conflit car chaque classes est placée dans un namespace différent.
Tuto complet: https://www.youtube.com/watch?v=CE1GSyxcbAY