プログラミング素人が、素人にわかるようにオブジェクト指向を説明する

※記事の内容は、プログラミング初めて1ヶ月の、ほぼ素人の見解です。

2月からプログラミング学習を始めた社会人です。
僕が申し込んだスクールは、Rubyをがっつりやるスタイルでした。

Rubyというのはプログラミング言語の一種で、日本人のまつもとゆきひろ氏が作ったもの。
オブジェクト指向という概念を採用しています。

果たしてプログラミング言語の中でどれくらいメジャーで、どれくらいモダンなのかは、今現在Rubyど真ん中に浸かっている僕にはわかりません。

オブジェクト指向ってなんぞや。

さて、オブジェクト指向という言葉自体はうっすら知っているものの、Rubyがオブジェクト指向なんやでーって言われてもよくわかりません。

僕なりに勉強して、現時点での「非エンジニア向け」の説明はこうです。

松屋に行く。なにしに行く?

さて、「松屋行こうぜ」って言えば、何をしに行きますか?
当然、ご飯を食べに行きますよね。

「ラウンドワン行こうぜ」だったらどうですか?
遊びに行きますよね。

これがオブジェクト指向です。

つまり、「行き先」と「やること」がだいたいセットになっているということです。
もう少し広く言えば、「モノ」に「特定の機能」を持たせるという言い方になるようです。

他のパターンで言えば、
「鉛筆貸してくれない?」(なにか書けるものが必要だから)
とか、
「ちょっと自転車借りていい?」(移動したいから)
とか、そういう、「モノの名前しか言ってないのに、何するかわかる」という特徴を備えるために、モノに対して特定の機能を持たせて、その機能をつかってアレコレ便利に使おうぜ。という言語ですね。

実はネット上でも同じことやってる

実際、インターネット上でいろいろなアプリとかWebサイトを使っていると、この感覚は普通に存在していることがわかります。

たとえば、このNOTEの上の方に、筆者のアイコンと名前が出ていますね。
このアイコンをクリックするとき、何をしに行くか説明されていませんよね。
でも、当然のように筆者のプロフィールとか、書いた記事のリストに飛べるわけです。
間違っても「この筆者を訴えてやる」とか、「こいつを永久追放してやる」ボタンではないですよね。
よく考えたら不思議じゃないですか?何も説明されていないのだから、そんなボタンになっていても別にいいわけですよね。

でも、「松屋に昼寝しにいく」「ラウンドワンに風呂入りに行く」などがおかしいのと同様に、そのリンクと動きがセットになっている状態を定義できる。

これが、オブジェクト指向だと思います。

繰り返しますが、素人が素人に向けて説明するならこうだな、という文章です。厳密に間違っていたらやさしく教えてください。

短いですがおわり。


この記事が気に入ったらサポートをしてみませんか?