オブジェクトとは何か?

 

プログラミング用語って、どうしてカタカナが多いんでしょうね。
慣れるまでは区別するのもひと苦労です。

毎度、何でも屋イガジーです。

でも考えてみれば、専門用語はプログラミングに限りません。
例えば、ゴルフが好きな人は
パー、とかボギーとか、バーディとか、アイアンなどのカタカナ語を
いつの間にか覚えてますよね。

麻雀好きな人は、国士無双だとか、九蓮宝燈とか、大三元とか
(これらは、カタカナじゃないですが)複雑な役やルールを覚えてます。

プログラミング用語も、何度も何度も接しているうちに
身についてきますから、最初からひるまないようにしましょう。

という訳で今日は「オブジェクト」とは何か?の説明を試みます。

いきなり書いてしまうと、オブジェクトとは「実体」です。
「処理(メソッド)とデータを持ったプログラムの実体」です。

「それってクラス?」と思うかもしれません。
「クラス」も色々な意味を持ちますが、オブジェクトと対比してみると
抽象的なものが「クラス」で、実物が「オブジェクト」になります。

例えば、「犬」が「クラス」だとすると、
うちで飼ってる「ポチ」という名の犬が「オブジェクト」です。
隣で飼ってる「タロ」という名の犬も「オブジェクト」です。

Label というクラスは、Label aa=new Label(“hoge”);と宣言して
以後 aa を使うのですが、この aa が指し示している実体がオブジェクト。
Label bb=new Label(“fuga”);と宣言すると、bbもオブジェクトを指します。
aa と bb は、同じ「ラベルというクラス」ですが、実体(オブジェクト)は別です。
ホチとタロが同じ「犬という生き物」でも、別の個体なのと同じです。

「あれ? aa ってインスタンスというモノじゃないの?」
そうですね、aa や bb はインスタンスです。ややこしいですね。

正確には、aa が指しているものがオブジェクトです。
オブジェクトを指し示している変数aaがインスタンスです。

new によって、実体(オブジェクト)が生まれ、インスタンス(変数)に
そこへのポインタ(アドレス)がセットされるのです。

以上のように、管理人イガジーは理解しているのですが、誤解してたらごめんなさい。

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)