この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "Objective-C"
Objective-Cパラダイムオブジェクト指向プログラミング、マルチパラダイムプログラミング、クラスベース、リフレクション
登場時期1984年 (40年前) (1984)
設計者ブラッド・コックス
最新リリース2.0 /
型付け静的型付け、動的型付け
主な処理系Apple版、GNU版
影響を受けた言語C言語、Smalltalk
影響を与えた言語Java、Swift、Objective-J(英語版)、Groovy、Nu(英語版)
プラットフォームmacOS、GNUstep他
ウェブサイトdeveloper.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html
拡張子h、m、mm、C
テンプレートを表示
プログラミング言語>>他のプログラミング言語
Objective-C(オブジェクティブ シー)は、プログラミング言語の一種。CをベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語である。
Objective-CはNeXT、macOSのオペレーティングシステム (OS) に標準付属する公式開発言語である。macOSのパッケージ版に開発環境がDVDで付属するほか、ユーザ登録をすれば無償でダウンロードできる(Xcodeの項目参照)。現在では主にAppleのmacOSやiOS上で動作するアプリケーションの開発で利用される。 Objective-CはCを拡張してオブジェクト指向を可能にしたというよりは、Cで書かれたオブジェクト指向システムを制御しやすいようにマクロ的な拡張を施した言語である。したがって、「better C」に進んだC++とは異なり、「C & Object System」という考え方であり、ある意味2つの言語が混在した状態にある。 関数(メソッド)の定義と呼び出し方が独特であるため、Objective-Cのコードは一見C++以上にCとはかけ離れた独特の記述となる。しかし、言語仕様はCの完全上位互換であり、if/for/whileなどの制御文や、intなどのスカラー型、関数記法、宣言・代入といった基本的な文法はCに準拠する。一方オブジェクトシステムはSmalltalkの概念をほぼそのまま借用したもので、動的型のクラス型オブジェクト指向ランタイムを持ち、メッセージパッシングにより動作する。このことからしばしば「インラインでCの書けるSmalltalk」または「インラインでSmalltalkの書けるC」などと呼ばれる。Cとは異なるObjective-Cに特有の部分は、@で始まるコンパイラディレクティブで明示され、オブジェクトのメソッド呼び出しは[]で囲まれたメッセージ式で行われる。
概要