オブジェクト指向言語のオブジェクトについて: 私の理解の端緒

 オブジェクト指向といわれて、オブジェクトについて説明されても、分からない人が多いのではないでしょうか。
 私も最初に聞いたときは良くわからなかったので、最初に私がどうとらえたかを書いておきます。割と本来のオブジェクトとニュアンスが違うと思うので、これが正しいとはいえないのですが、理解の端緒になれば幸いです。

広告

オブジェクト指向とは

 プログラミング言語の傾向の一つです。手続き型とかと比較されますが、とりあえずここでは省略します。この「オブジェクト」というのが曲者で、これが理解できないとオブジェクト指向のプログラミング言語では割と不便だったりなんだったりとまあ色々あります。

現在の私の理解

 「オブジェクト=もの」です。なんというか、オブジェクトisオブジェクトというか。そんな感じです。自分で書いていても、自分が書いたものでなければ分からないなあと思う一文ですが、つまりそういうこう…ちょっとややこしいというか概念的というか、説明するのにはいろんな図とかもっと長い文章とか、下手すれば専門書の一章分とか、そういうものがかかってしまうのがオブジェクトなのです。
 なお、私がこれを理解したのは多分、Javaをプログラミングしだして結構経ってからだと思います。よく覚えていないのですけれど…。

初めにした理解のやり方

 で、つまり私が、オブジェクトは良くわからないままのときに、どう捉えたかというと、
 「オブジェクト=箱
 です。詳しく言えば、変数を複数格納する箱というか。
 ぶっちゃけていえば、多次元配列に近い理解ですね。わりとそういう感じでオブジェクトを定義することもたまにあるかと…。
 本当は箱というよりその組み合わせそのものを「オブジェクト」とするというか、そう言う感じだとは思うのですが、まずはそう理解しました。
 オブジェクトに定義する関数に関しても、箱の中にある変数を扱う為の関数、という感じ。set/getとかで箱から出し入れしつつ、パブリックで外から干渉し、プライベートで内側から干渉するかんじで変数を弄る。そういうイメージでした。
 個人的な感覚なので、皆が皆そうではないと思うのですが、オブジェクト指向の最初で躓いている方は、まずそういう理解でやってみても良いんじゃないかと思うのです。

まとめ

 オブジェクト指向プログラミングの最初、オブジェクトが分かりづらくてひっかかる、という場合、こう考えてみても良いのではないか、というものを提示しました。 
 ただ、あくまでアバウトというか、分かりやすくしたのでちょっと本来のイメージとは違う感じです。つまりはあくまでとっかかり。でも、Java等のオブジェクト指向プログラミング言語は、その考え方も含めて習得しておくと便利なんじゃないかな、と思います。ですので、これをとっかかりにして、オブジェクト指向プログラミングを試してみる方がいらっしゃれば幸いです。
 

広告

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA