"Object-Oriented" を訳す

「オブジェクト指向」という語はどうも長ったらしい。 英語の2音節の ob-ject が o-bu-zce-ku-to の5音節にまで間延びしている。 大体「オブジェクト」自体が日本語として定着していない語だから、そんなものを「指向」されても、どこに向かっているのだか解らないではないか。

というわけで、何とかこの落ち着かない語を消化してみようと考えてみる。 まずフランス語の「オブジェ」はどうだろう。 短いし、日本語にも定着している。 しかし、オブジェと言われて想像するのは何かと考えると わけのわからない芸術的置物 でしかない気がする。 これでは少し意味が狭い。

ここでさらにロシア語辺りを持ち出す芸、というのも考えたが、あまり解り易くなる気がしない。 やはり日本語で考える必要がある。 直訳では「もの、対象」などになるので、これらを見ていこう。 まずは「もの指向」。 これは多分違う。 つまり「もの」は「こと」に対立するが、オブジェクトは両方を含んで良い。 対象として確立すれば、出来事もオブジェクトとなるのだから。 では「対象指向」が良いかというと、何が何をという語なしの「対象」はどうにも落ち着きが悪い。 そうするとここは意訳が必要だ。

対象として確立すればオブジェクトと上で書いた。 対象として確立するには、他との区別が明確であるか、あるいは付随する属性が確定するものでなければならない。 そういうものを何と呼ぶだろう。 人ならば個人、生物ならば個体…だろうか。 キーワードは「個」、特定されうる個である。 であれば「個指向」と言いたいところだが、座りが悪いので「個物指向」ということにしたい。 気分を明確に、「個*指向」と書いた方が良かもしれない。 (発音は…?)

次にこの個*指向における幾つかの用語についても訳を検討したい。

まずはクラス。 学校では「学級」を意味し、艦船の大きさの「級」もクラスの訳である。 数学では「類」と訳されることが多い。 もちろん「階級」も「等級」もクラスである。

ところで RPG (Role Playing Game) でクラスといえば「職業」である。 ここでいう「職業」は役割 (Role) の大枠として機能する。 それは、自由に選んだものというよりは特性に応じて宿命的に割り振られるものである。 そこで「クラスAに属する」ということを「Aの宿命を負っている」と文学的に表現してみよう。 宿命を「さだめ」と読むと、もっと雰囲気が盛り上がりそうだ。

さて、容易に解るように、宿命はあくまで枠組みであって、それを負うのは一つの実現された姿、具体例である。 それを現身(うつせみ)と呼ぼう。 これはインスタンスに対応する概念である。 つまり例えば「クラスAのインスタンス」を「Aの宿命を負った現身」というわけである。 だんだん用語が前近代化してきたが、調子に乗って続けよう。

それぞれのクラスは「メンバー」(c++ 的用語)や「アトリビュート」(python 的用語)を持つ。 これは「宿命に付いてまわる気性」とすれば良かろう。 一般的に、気性には大きく分けて「データ」と「メソッド」がある。 「データ」はいわばその現身の見た目を決め、「メソッド」は振る舞い方を決める。 そこから、「装い気性」と「振る舞い気性」と言おう(あまり良い訳ではないが)。 場合によっては「装い」とか「振る舞い」とか呼んでしまってもよい。

まとめると、次のようになる。

English日本語訳
object個(人、体、物…)
instance現身
class宿命
attribute気性
data (attribute)装い(気性)
method (attribute)振る舞い(気性)

例えば以下のように言い換えられる。

1999-03-13