アップルの製品に使用される!Objective-Cの使い方

プログラミング言語はC言語に影響された言語が数多くあり、C言語はもちろんですが、その他の影響された言語も多く使用されています。

プログラミングの機能向上により、オブジェクト指向の考え方が登場するようになってからは、プログラミングのしやすさや機能の良さを向上させる言語が登場しました。

今回のObjective-Cもその言語の1つで、C言語をベースにオブジェクト指向の機能を持たせた言語になっており、現在でも使用されております。

Objective-Cは主にアップルのMacOSを開発する言語として使用され、現在ではMacOSやiOSで使用されるアプリケーションの開発に使用されています。

Objective-Cの特長は、C言語をオブジェクト指向ができるように拡張したと思われますが、Cで書かれたオブジェクト指向システムを制御できるようにした言語という見方があります。

関数の定義と呼び出し方が独特で、同系の言語であるC++と比べればC言語とはかけ離れた機能ですが、仕様に関してはC言語に準拠したものになっています。

Objective-Cは1983年に開発され、当時はマイナーな言語でしたが、1985年にアップルコンピューター社を退社したスティーブ・ジョブズ氏に注目され、彼が創立した新会社(NeXT社)のコンピューター製品に使用されるようになりました。

それ以降はObjective-Cの名前が知られるようになり、後にジョブズ氏がアップル社に復帰した際は、NeXT社をアップル社が買収し、2001年に誕生した「MacOS X」のコアに使用される言語となりました。

その後は言語の仕様が変更され、Objective-C2.0と呼ばれるようになり、2008年にiPhoneが登場してからは、この言語のプログラマー人口が増えるきっかけになりました。

Objective-Cはメッセージ送信が可能な言語で、メソッド(関数)を呼び出す際にはこの方法が使用され、引数の付いたメッセージを送ることもできます。

クラスを定義する際は定義部と実装部に分かれており、定義部は.hファイルに、実装部は.mファイルに記述するのが基本となっています。

メソッドにはクラスメソッドとインスタンスメソッドの2種類があり、クラスメソッドはインスタンスメソッドの操作に使用され、インスタンスメソッドはインスタンスオブジェクトにメッセージ送信した際に起動します。

Objective-C2.0になってからは、ガベージコレクションやプロパティの導入、プロトコルの強化などの言語仕様の変更が行われました。

ガベージコレクションの導入により、プログラムを稼働させるためのメモリの管理が自動的にできるようになり、性能向上にもつながりました。

プロパティの導入は、C#などにも導入されているプロパティを使用できるようにしたもので、アクセスのしやすさや手続きの簡略化などができるようになりました。