1

まずは for文 との比較

同じ出力だけど、3回もおなじことを書くのは手間だし間違えるリスクもある。なので、人類は for文 を発明した。

for文 なし(同じことを3回書く)

println("hello");
println("hello");
println("hello");

for文 あり(1回書くだけ)

for(int i=0;i<3;i++){
    println("hello");
}
実行結果(どちらも同じ!):hello / hello / hello

for文を使うメリット

  • コードが短く、読みやすい
  • 書き間違いが減る
  • 回数を変えたいときも楽!

「同じことを何度も書かなくていい」これがプログラミングの知恵!

2

同じ考え方で、クラスとオブジェクトを発明した!

同じように Processing(Java)で、クラスとオブジェクトを人類は発明した。rect() を使って四角を3つ描画してもいいけど、class MyRect を定義して rect1.draw みたいに書くと分かりやすい。

クラスを使わない場合(同じコードを3回書く)

rect(50, 50, 80, 60);
rect(160, 50, 80, 60);
rect(270, 50, 80, 60);

クラスを使う場合(分かりやすく、再利用しやすい)

MyRect rect1 = new MyRect(50, 50, 80, 60);
MyRect rect2 = new MyRect(160, 50, 80, 60);
MyRect rect3 = new MyRect(270, 50, 80, 60);

rect1.draw();
rect2.draw();
rect3.draw();

クラスとは?

これは四角を管理するクラス(設計図)

class MyRect {
    // 必要な情報(フィールド)
    int x, y, w, h;

    // 可能な動作(メソッド)
    void draw() {
        rect(x, y, w, h);
    }
}

クラスに入れるもの

必要な情報はこれ
位置やサイズ(x, y, w, h)

可能な動作はこれ
draw() で四角を描く

3

クラスは「設計書」。実行されるのはオブジェクト!

今までのプログラミングは上から順番に実行だったけど、Class は設計書なので実行されない。オブジェクトを生成して、オブジェクトの動作を命令した時に初めて実行される。

今までのプログラム(上から順に実行)

  1. 1行目を実行
  2. 2行目を実行
  3. 3行目を実行
  4. 最後まで実行

順番に実行される。

クラスは設計書(実行されない)

class MyRect {
    int x, y, w, h;

    void draw() {
        rect(x, y, w, h);
    }
}

これは「設計図」。ここを読んでも何も描かれないし、実行もされない。

1. オブジェクトを生成(インスタンス化)

MyRect rect1 = new MyRect(50, 50, 80, 60);

設計図から「実物」を作る。これが rect1(オブジェクト)。

2. オブジェクトの動作を命令(メソッドを呼ぶ)

rect1.draw();

命令したから、ここで初めて実行される。四角が描かれる!

まとめ:for文もクラスも「同じことを効率よく、分かりやすく、間違えにくくする」ための仕組み!
プログラミングは「考え方」がとっても大事!