このクラスを実行してください。Structクラスのインスタンスを作ります。data1~data3フィールドに入れます。平均を計算して出力します。平均を計算して出力します。45}}Structクラスが構造体です。使う時は、普通にインスタンスを作り、フィールドに値を入出力します。構造体はインスタンスを作って参照を通して使うことになるので、「参照がないと使えない」という点でアクセスを制限することができます。そのため、グローバル変数よりは安全です。フィールドには自由にアクセスできます。data1~data3フィールドはpublicフィールドなので、自由に読み書きできてしまいます。この例では「平均点」を計算しています。data1~data3は何らかの点数で、その平均を出している場合、data1~data3フィールドには「0~100」の値が望ましいでしょう。publicフィールドだと自由にアクセスできてしまうため、何かでついうっかり書き換えてしまう可能性があります。グローバル変数の時のように、なんらかのマチガイからdata1~data3の値が不正に書き換えられてしまう可能性があるということです。同じように、規模が大きくなればなるほどその可能性は高くなります。手続き型プログラミングこのページで紹介したようなプログラミングの方法を「手続き型プログラミング」と言います。手続き型プログラミングでは、処理とデータ、つまりメソッドと変数は別々になっていて、全部ごちゃまぜに管理する形になります。なると、全部ごちゃごちゃに絡み合ったプログラムができあがってしまいます。そのようなプログラムは、単体テストが難しく、バグがあってもどこに原因があるか分かりづらく、修正をした場合に影響範囲が大きく、個々が絡み合っているためプログラムの使い回しが難しくなります。手続き型プログラミングこのような「古い方法でプログラミングする」場合の問題点を、オブジェクト指向プログラミングすることでだいぶ解決できます。次ページではその方法を見てみましょう。オブジェクト指向との付き合い方このページは、Java言語を用いたオブジェクト指向プログラミングのチュートリアル解説を行う「Javaのオブジェクト指向入門」の一ページです。詳しい説明は「Javaのオブジェクト指向入門」目次をご覧ください。