オブジェクト指向とは、概念的な対象を「オブジェクト」として捉え、それを常に意識する姿勢を示している。
プログラムひいてはシステムにおける構成要素だけにとどまらず、
経営・人員配置等の企業活動をはじめ、概念的な対象を意識できる場面において、
これらを総じてオブジェクトとして捉え、自身の方向性を明瞭化する概念である。
本来、Objectとは、日本語では一意に定義が出来ない英単語である。
例えば、写真撮影における被写体は、該当の業界では「オブジェクト」と呼ばれる。
一方で、芸術関連の業界では作品を「オブジェクト」の略語である「オブジェ」と呼称する。
プログラムにおいては、インスタンスから生成されるClassやMethodであったり、
変数に格納されたメモリ領域に展開された処理可能状態が変数・リテラル等を取り扱う場合の挙動結果であったり、
処理の簡略化であったり、
戻り値と引数としての受け取り側の配慮であったりと、様々となる。
このように、Objectという単語は、日本語等の一部の言語や、作業目的を区別しない場合においては、多岐にわたる意味づけができないことを根拠として、それぞれを異なる単語で用いられる。
これに対して、オブジェクト指向では、これを1つにまとめて「オブジェクト」として用いられる。
つまり、日本語においてオブジェクトとは、複数の意味が集合し、取り間違えが多くなりやすい状態となっている。
Objectを直訳すると「物」となるが、
実際には「目的」「人物」「プログラムのコードセット」「経営における理念」等が実体であり、
これを日本語において定義するとしたら、概念としての「対象」や「モノ」となってしまう現実がある。
オブジェクト指向におけるプログラミングとは特定のデータ構造と振る舞いを持つものを全て物体(オブジェクト)として捉える概念である。
オブジェクト指向では、システム上における、構成要素を分析し、その特徴をまとめてクラスとして定義する。プログラム実行時にクラスの中身としてのデータ群を具体的に決定し、メモリ上にそのデータ群をまとめて配置した塊をオブジェクトと呼ぶ。
クラスにはそのオブジェクトが、どのような内部状態を持つか、どのような操作でどのように内部状態を変化させるべきかを記述する。クラスの構造がプログラム実行前に静的に決まって変更できない言語と、実行時であってもクラスの構造の変更を行える言語が存在する。
各オブジェクトが作用しあって、その内部状態を互いに変化させながら処理が進行するようなプログラムを作ることがオブジェクト指向プログラミングである。オブジェクト指向言語と呼ばれる言語を使用したとしても、必ずしもオブジェクト指向プログラミングとなるわけではない。
オブジェクト指向プログラミングにおいて、クラスの概念を持つ言語でプログラミングする場合がほとんどである。しかしクラスというものを排除してオブジェクト指向を実現した言語(SelfやLENSなど)も存在する。
急上昇ワード改
最終更新:2025/12/11(木) 01:00
最終更新:2025/12/11(木) 01:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。