C#の理解が足りないためなのですが、次のプログラムでgameController.aaa.bbbにアクセスできない理由がわかりません
なぜpublicなのにプロテクションレベルに反するのか教えていただけないでしょうか
よろしくお願いします

public class GameController : MonoBehaviour {
 void update0{
 AAA aaa = new AAA();
 public int ccc;
 aaa.bbb = 123;
 ccc=456;
 }
}

public class AAA{
 public int bbb;
}

class DDD{
 public GameObject gameObject;//インスペクタから先のゲームコントローラーが付いたオブジェクトを代入
 private GameController gameController;
 void Start () {
   gameController = gameObject.GetComponent<GameController>();
   Debug.Log(gameController.aaa.bbb);//プロテクションレベル違反・・・・なぜ!?
   Debug.Log(gameController.ccc);//こっちはOK
 }
}