日々のつれづれ

不惑をむかえ戸惑いを隠せない男性の独り言

オブジェクトという入れ物

オブジェクト指向」って、初心者には分かりにくい言葉だと思う。

  • オブジェクト

【名詞】【可算名詞】
(知覚できる)物,物体.
〔動作・感情などの〕対象 〔of,for〕.

オブジェクトを英語で・英訳 - 英和辞典・和英辞典 Weblio辞書
  • 指向

[名](スル)ある方向・目的に向かうこと。また、方向や目的を指示してその方に向かわせること。志向。「輸出先として—する国」「主力を激戦地に—する」

指向(しこう)の意味 - goo国語辞書

そのまま考えると、「もののある方向(に向かう)」なんてことになる。なんでこんな言葉なのだろう?
Googleで検索すると、それらしい説明が、難しい言葉で説明されている。オブジェクト指向が分かる人にオブジェクト指向を説明しているとしか思えない。素人の僕には良く分からない。
「習うより慣れろ」なのかなぁ。で、オブジェクト指向が分からなくても、Rは使えると思った(で、実際そうなった)。

で、本論に。
Rでは数値、文字などをアルファベットや数字を組み合わせた文字で代用する。数学で言うところの「代入」みないなもの。
例えば、1+2をしたいとき、

> 1+2
[1] 3

Rでは電卓の様に、1+2で2を計算できる。
でもRでは代入ができる。ここで「1をxに代入」、「2をyに代入」したらどうだろう。

> x <- 1
> y <- 2
> x + y
[1] 3

ここでは、xが1になっていて、yが2になっている。だからx+yが3になる。

ここで、僕なりの解釈。
オブジェクト指向」=「数値計算でたくさん文字を書くかわりに、英数字を使って計算をするための便利技術」

で、どう便利になるかというと、

> x <- 1:5
> x
[1] 1 2 3 4 5
> x*2
[1]  2  4  6  8 10

オブジェクト指向」にしなかったら、

> 1*2;2*2;3*2;4*2;5*2
[1] 2
[1] 4
[1] 6
[1] 8
[1] 10

こんなこと、やってられないよね。
だから便利技術。