オブジェクトシコウ「オブジェクト」中心の考え方。「プログラムはオブジェクトによって構成されている」という考え方。それを元にプログラムを作ることを指す。Javaに当てはめて考えると「隠蔽化」や「ポリモーフィズム」等がオブジェクト指向を踏まえて行われていると言える。フィールドはprivateフィールドとすることで使用する側から直接アクセスすることはできなくなる。これを「隠蔽化」と言う。メソッドはオーバーライドすることで参照型変数の型とは別のメソッドが呼ばれる場合がある。これを「ポリモーフィズム」と言う。これらは、インスタンスを使用する側の自由にさせず、インスタンスの側でコントロールすることになる。「オブジェクトがプログラムの主導権を握る」ことが「オブジェクト指向」ということになる。「オブジェクト指向」は言語に依存しない「学問」である。オブジェクト指向ではクラスとインスタンスの区別は存在しない。クラスを用いずにオブジェクトを作ることができるし、またそういったことが可能なプログラミング言語も存在する。元々は純粋な研究によるものだったため、パフォーマンス等の問題からオブジェクト指向の考え方をそのままプログラムに適用する場合には無理がある場合がある。Javaでオブジェクト指向をする上ではそういったことを踏まえた上で現実的な利用法が求められる。オブジェクト指向は「手続き指向」の対となる考え方である。「手続き」とは関数、Javaで言うstaticメソッドのことを指す。昔のプログラミング言語ではこの「手続き」のみが存在し、クラスや非staticメソッドは存在しなかった。そのため、変えて欲しくない変数を隠蔽化することもできなければ、オーバーライドによって一部の処理のみを上書きするということができなかった。あるのは変数やその塊だけであり、それをどう扱うかは「手続き」の自由であったため、「手続き」は扱う変数がどのような意味を持つのか正しく理解しそれを踏まえて注意して使用する必要があった。その注意を怠ったために発生したバグが多々あったたため「変数を守る」ためにオブジェクト指向という考え方が生まれたわけである。上記の説明は主に「オブジェクト指向プログラミング」についてのものである。「オブジェクト指向」の実際の意味としては「オブジェクト指向プログラミング」だけでなく「オブジェクト指向開発」や「オブジェクト指向設計」といったものの総称として使われる。これらの違いや、実際に使用する場合の言語等、単に「オブジェクト指向」と言っても人それぞれイメージしているものが異なる場合があるため注意が必要。Stringクラスを作ります。格納されている文字列を修正することはできません。これが「隠蔽化」です。することはできません。Objectクラスにアップキャストして格納します。実際のインスタンスの型はStringのままです。StringクラスのtoString()メソッドが呼ばれています。見かけの型ではなく実際のインスタンスのメソッドが呼ばれています。これが「ポリモーフィズム」です。呼び出す側で呼ぶメソッドを指定することはできません。Stringクラスを作ります。格納されている文字列を修正することはできません。これが「隠蔽化」です。することはできません。Objectクラスにアップキャストして格納します。実際のインスタンスの型はStringのままです。StringクラスのtoString()メソッドが呼ばれています。見かけの型ではなく実際のインスタンスのメソッドが呼ばれています。これが「ポリモーフィズム」です。呼び出す側で呼ぶメソッドを指定することはできません。「サンプルプログラムとか」に含まれているページオブジェクト指向usersupdate:2005/04/13このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。詳しくは「JavaA2Z」表紙の説明をご覧ください。