カタツムリ2011年01月17日

「クラスの前に?!」

みなさん、おはようございます。

C言語から始めている人は、
構造体などの扱いも十分になれているでしょう。

クラス、インスタンス、オブジェクトの概念は、
比較的容易に理解できると思います。

ただ言語学習が始めて人は、
まず、どう理解していけば良いのか?

さらに、どう使えばいいのか?
そもそも、なんで、そんな機能が必要なのか?
などなど疑問をたくさん持つと思います。

このブログで、
どこまでうまく伝えられるか分かりませんが、
かる~く触りだけでも進めて見ます。

まず、クラスってなにか?
という前に・・・

プログラムってなに!?
プログラムって、どうできているの!?

これを理解した方が、
クラスも分かりやすいので、
まずは、プログラムからお話しますね。

プログラムを作る基本的な理由は、
コンピューターに対して、
膨大な計算処理をさせることですよね~

例えば、1万人の試験答案を、
手作業でやっていたら、途方に暮れますが、

マークシート記述にして、
プログラムを使って処理すれば、
時間も掛かりません。

ここで重要なことが、2つあります。

①採点するプログラムが正しく動作すること。
②1万人の答案用紙と、その結果を個別にしっかり分けること。

1番は、誰でも思いつくのですが、
2番は、あたりまえ過ぎて、意外と出てきません。

でも、プログラミングの世界では、
基本は、2番のデーター設計なのです。

もしA君の採点結果と、B君の採点結果が逆になったら、
それはもう大混乱ですよね~(^^;;

でも、コンピューターの世界では、
わりとよくおこるんですよ~

バッファーオーバーフローを狙った、
サーバーへの攻撃もこれと同じことです。

みなさんご存知のように、
コンピューターのメモリー容量は、
物理的に決まっています。

つまり無限にあるわけではありません。
※HDスワップすれば、かなりの量にもなりますが・・・

よって先ほどのプログラムも、
1万人なら動作するけど、10万人でも動作するのか?

そういったことを、予め設計段階で、
考慮して置かなければなりません。

もう一度、まとめると、
プログラミングで大切なことは、

1.全体のデーター領域が十分に確保されているか?
2.ここのデーター領域が、重なっていないか?

この2点の制度を上げていく中で、
アセンブラーからC言語へ、
そしてJAVAへと設計思想が、
受け継がれてきたのです。

今日も「いいスマイル」で行きましょう!


ツイッターはじめました~フォロー待ってま~す!!
↓↓↓下記の3つのバナーをクリックして下さい。ランキングUPにご協力をお願いします。↓↓↓

にほんブログ村 経営ブログへランキングUP!

ランキングUP!

banner2.gif 人気blogランキング!

投稿者 shiozumi : 13:31