2011年01月17日
「クラスの前に?!」
みなさん、おはようございます。
C言語から始めている人は、
構造体などの扱いも十分になれているでしょう。
クラス、インスタンス、オブジェクトの概念は、
比較的容易に理解できると思います。
ただ言語学習が始めて人は、
まず、どう理解していけば良いのか?
さらに、どう使えばいいのか?
そもそも、なんで、そんな機能が必要なのか?
などなど疑問をたくさん持つと思います。
このブログで、
どこまでうまく伝えられるか分かりませんが、
かる~く触りだけでも進めて見ます。
まず、クラスってなにか?
という前に・・・
プログラムってなに!?
プログラムって、どうできているの!?
これを理解した方が、
クラスも分かりやすいので、
まずは、プログラムからお話しますね。
プログラムを作る基本的な理由は、
コンピューターに対して、
膨大な計算処理をさせることですよね~
例えば、1万人の試験答案を、
手作業でやっていたら、途方に暮れますが、
マークシート記述にして、
プログラムを使って処理すれば、
時間も掛かりません。
ここで重要なことが、2つあります。
①採点するプログラムが正しく動作すること。
②1万人の答案用紙と、その結果を個別にしっかり分けること。
1番は、誰でも思いつくのですが、
2番は、あたりまえ過ぎて、意外と出てきません。
でも、プログラミングの世界では、
基本は、2番のデーター設計なのです。
もしA君の採点結果と、B君の採点結果が逆になったら、
それはもう大混乱ですよね~(^^;;
でも、コンピューターの世界では、
わりとよくおこるんですよ~
バッファーオーバーフローを狙った、
サーバーへの攻撃もこれと同じことです。
みなさんご存知のように、
コンピューターのメモリー容量は、
物理的に決まっています。
つまり無限にあるわけではありません。
※HDスワップすれば、かなりの量にもなりますが・・・
よって先ほどのプログラムも、
1万人なら動作するけど、10万人でも動作するのか?
そういったことを、予め設計段階で、
考慮して置かなければなりません。
もう一度、まとめると、
プログラミングで大切なことは、
1.全体のデーター領域が十分に確保されているか?
2.ここのデーター領域が、重なっていないか?
この2点の制度を上げていく中で、
アセンブラーからC言語へ、
そしてJAVAへと設計思想が、
受け継がれてきたのです。
今日も「いいスマイル」で行きましょう!
ツイッターはじめました~フォロー待ってま~す!!
↓↓↓下記の3つのバナーをクリックして下さい。ランキングUPにご協力をお願いします。↓↓↓
投稿者 shiozumi : 13:31