オブジェクト_(プログラミング)
[Wikipedia|▼Menu]
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%;font-size:90%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}html.client-js body.skin-minerva .mw-parser-output .mbox-text-span{margin-left:23px!important}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}

この記事は検証可能参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方
出典検索?: "オブジェクト" プログラミング ? ニュース ・ 書籍 ・ スカラー ・ CiNii ・ J-STAGE ・ NDL ・ dlib.jp ・ ジャパンサーチ ・ TWL(2021年7月)

コンピュータ科学の分野において、オブジェクト(英語: object)は、変数データ構造関数メソッドなど、識別子によって参照されるメモリ上の値を意味することがある。

オブジェクト指向プログラミングのパラダイムでは、オブジェクトは変数、関数、データ構造を組み合わせたものを意味することがある。特に、クラスベースのオブジェクト指向プログラミングのパラダイムでは、特に、クラスインスタンスを指す。

データベース管理のリレーショナルモデルでは、オブジェクトはテーブルや列、データとデータベースエントリーの間の関係(たとえば、人物の年齢と特定の人物との関係など)などを指す場合がある[1]
オブジェクト指向プログラミング「オブジェクト指向プログラミング」も参照

オブジェクト指向プログラミングパラダイムでは、関連するデータを束ね、代入、演算、手続き(関数やメソッドなど)を介した受け渡しといった操作の対象にでき、またメッセージの受け手になれる実体をオブジェクトと呼ぶ(ただし、数値などの基本的なデータ型はオブジェクトとしないプログラミング言語も多い)。多くの場合、オブジェクトは他のオブジェクトを要素として格納することができ、複雑なデータ構造を表現できる。なお、英語の object には「対象」「もの」といった意味がある。

オブジェクトは、プログラム上で実現したい概念(例えば「顧客」「社員」「課」「商品」「注文書」など)をメタファとして表現するのにもしばしば使われ、プログラムの設計を考えたり他人と共有したりするのに役立つと考えられている。またマウスカーソル、ウィンドウ、メニュー、ファイル、段落など、コンピュータ上でユーザが目にするもので、名前が付いているようなものはほとんどオブジェクトとして表現できる。

オブジェクトは、それ自身に関するデータだけでなく、それ自身や内部のデータに対する操作も束ねている場合が多い。例えば、注文書を表すオブジェクトには、注文する商品を追加する操作や注文を取り消す操作を用意することができる。またマウスカーソルを表すオブジェクトについては、上下左右に動かす、クリックするというような操作が考えられるし、ファイルのオブジェクトについては、コピー、削除などの操作が考えられる。操作対象と操作そのものの定義や動作をまとめて表現することでプログラムの見通しが良くなり、プログラミング効率やプログラムの再利用性を高めるのに寄与すると考えられている。

クラスベースのオブジェクト指向では、共通した特徴や動作をもつオブジェクトをまとめ、その共通の性質を記述・定義した、「オブジェクトの分類」をクラスという(英語の class は種類・分類の意味がある)。そして、あるクラスに分類される具体的なオブジェクトをそのクラスのインスタンスという。例えば、「ファイルというもの」や「アイコンというもの」の性質を定義したのがクラスであり、「ファイルというもの」の性質に沿った一つ一つのファイルを表すものが「ファイルクラスのインスタンス」である。
処理系におけるオブジェクトの実装

オブジェクトは単純なデータとは限らない<何ものか>を指す概念だが、プログラムが実行される際、オブジェクトに相当する実体は記憶装置上のデータである。これに対し、クラスはインスタンスが持つデータの形式と操作についての定義であり、プログラムが実行されるときの実体としては記憶装置上のプログラムなどが対応する(より正確には言語や処理系によって異なる)。このとき、そのオブジェクトは、<何ものか>を抽象化していると表現される。(ここで言う「抽象化」は、C++抽象クラスとは無関係)

例えば、「会員」(ある1人の会員)を表す1つのオブジェクトは、処理系での実装上は、会員番号や氏名など会員としての情報、そして「会員クラスに属するオブジェクトであるという情報」などをまとめたデータとして表されうる。オブジェクトに対する操作については、同種の動作(振る舞い)をするオブジェクトをクラスとしてまとめていることにより、動作を表すプログラムを個々の会員インスタンスに持たせる必要はなく、クラスの側に動作に相当するプログラム(処理系によっては翻訳後のプログラム)を持たせる実装が可能である。

インスタンス生成が可能なクラスは、記憶装置上に自らのインスタンスを作るための手続きを備えており、この手続きが何らかの形で(通常は他のオブジェクトによって)呼び出されることで、インスタンスが生成される。
脚注[脚注の使い方]^ Oppel, Andy (2005). SQL Demystified. McGraw Hill. p. 7. .mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation.cs-ja1 q,.mw-parser-output .citation.cs-ja2 q{quotes:"「""」""『""』"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:#d33}.mw-parser-output .cs1-visible-error{color:#d33}.mw-parser-output .cs1-maint{display:none;color:#3a3;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}ISBN 0-07-226224-9 

関連項目

オブジェクト指向

オブジェクト指向プログラミング

ビジネスオブジェクト










データ型
ビット列

ビット

トリット

ニブル

オクテット

バイト

ワード

ダブルワード(英)

数値

整数型

符号付整数型

十進型(英語版)

有理数型(英語版)

実数型

複素数型

固定小数点型

浮動小数点型

半精度

単精度

倍精度

四倍精度

八倍精度(英語版)

拡張倍精度

ミニフロート

bf16



次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:21 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef