抽象型
プログラマが宣言する型の一つ / ウィキペディア フリーな encyclopedia
親愛なるWikiwand AI, これらの重要な質問に答えるだけで、簡潔にしましょう:
トップの事実と統計を挙げていただけますか 抽象型?
この記事を 10 歳向けに要約してください
すべての質問を表示
抽象型(ちゅうしょうがた、英: abstract type)とは、コンピュータプログラミングの型システムのうち、名前的型システム (nominal / nominative type system) [注釈 1][1]における型の一種であり、直接インスタンス化することができないという特徴を持つ。対義語は具象型(英: concrete type)であり、具象型はインスタンス化することができる。抽象型の変数に格納された実際の値は、何らかの存在型(英語版) (existential type) を持つ[2]。
この項目では、型システムにおける抽象型について説明しています。実装と独立したデータ型については「抽象データ型」をご覧ください。 |
抽象型は実装を提供しないか、あるいは不完全な実装を提供する。具体的な形態や仕様はプログラミング言語ごとに異なるが、いくつかの言語において、実装を持たない抽象型はインタフェース (interface) やプロトコル(英語版) (protocol) などと呼ばれている。クラスベースのオブジェクト指向プログラミング言語では、抽象型は抽象クラス (abstract class) [注釈 2]として実装され、具象型は具象クラス (concrete class) として実装される。
例えばJavaでの抽象型は、抽象クラスとインタフェースである。ただし抽象クラスはabstract
という宣言が付与されたクラスのことであり、抽象メソッドを含むこともあれば、含まないこともある[3]。また、メソッドのシグネチャを一切含まない空のインタフェースを定義することもできる。