よし単純に説明してみるぞ

Aさんが甲というちゃんと動作するプログラムを組みました。
Bさんは乙という同じくちゃんと動作するプログラムを組みました。
Cさんは甲の機能と乙の機能の2つを併せ持つ丙というプログラムを組むことにしました。

イチから作るのはめんどいのでCさんはAさんBさんからコードをそのままもらうことにしました。
ただ言語にクラスの機能もモジュールの機能も無いので、組み合わせるには変数名を衝突しないように変更しなければならず、条件分岐もやたら複雑になりました。

こんなときクラスの機能があれば変数名がリセットされて衝突しないのに‥