オブジェクト指向というのは、意味概念をプログラムとして直接記述できるようにしたプログラミングパラダイムの事
あらゆる抽象概念を”モノ”として定義し、人間の自然な思考に沿うようにプログラムに意味を持たせることが出来るようにすることで、
より簡潔かつ明瞭なプログラムが書けるようになり、初心者の習得も容易になった

例えばゲームなら、キャラクターを表示して移動するというプログラムを書くとする

古典的プログラム
int char_pic = LoadImage("char_pic.png"); // キャラの画像を読み込み
int x, y; // キャラの座標を保持する変数
x = y = 0; // 0に初期化
for (int i = 0; i < 10; i++) {
  DrawImage(char_pic, x, y); // (x, y)座標にキャラの画像を描画
  x += 1; // x座標を1増加
}
これのプログラムの意味としては、座標の位置に画像を表示するという意味しか読み取れない


これをオブジェクト指向で書くと
Character char = Character("char_pic.png"); // キャラを作成
for (int i = 0; i < 10; i++) {
  char.draw(); // キャラを描画
  char.move(1, 0); // キャラを移動(x方向に +1)
}
と言った感じで頭で考えたとおりの意味のあるプログラムが書ける

続く