Heu désolé je pose des questions bêtes qui sont surement dans la FAQ mais j'ai pas compris

Donc ma question c'est : est ce que quelqu'un peut m'expliquer pourquoi on utilise des visibilité differents pour les classes ?
Et quel est exactement son effet ?

Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
private class MaClassePrivee 
{ 
   ... 
}
Merci