Codable Tech Blog

iPhoneアプリケーション開発と AWS(Amazon Web Service)活用に関する記事を配信

オブジェクト指向の概要

オブジェクト

Swiftはオブジェクト指向プログラムをサポートした言語です。オブジェクト指向プログラムとはプログラミングする対象物をオブジェクトと見なしてソフトウェアを構築する手法になります。では、オブジェクトとは何なのでしょうか?オブジェクトを日本語に訳すと「もの」になります。「もの」は色々な対象物を表現する抽象的な表現です。例えば、人も「もの」ですし、お金も「もの」、電話も「もの」です。このように「もの」は様々な対象物を表現しますが、プログラムの世界では「もの」とは「プロパティ(属性)とメソッド(振る舞い)がセットになったもの」と定めました。プロパティはオブジェクト固有の情報です。人であれば、固有の情報として例えば「名前」、「性別」、「血液型」などがあります。メソッドとはオブジェクトの動作を定義したものです。人であれば、「歩く」、「寝る」、「料理する」などの動作です。このようにある対象物をプロパティとメソッドを使って定義したものがオブジェクト指向プログミングが示すオブジェクトです。

Swiftにおけるオブジェクトの具体例

皆さんは実は既にオブジェクトを利用したプログラミングを行っています。これまで利用してきたInt型やString型の変数ははオブジェクトです。オブジェクトなので、当然、これらの変数はプロパティとメソッドを持っています。オブジェクトが持つプロパティやメソッドを利用するにはオブジェクトに対して「プロパティの情報を教えて」とか「この振る舞いをして」というメッセージを送る必要があります。このようにオブジェクトに対してメッセージを送ることをメッセージ送信と呼びます。

メッセージ送信

「オブジェクト」に何かを依頼することを「メッセージ送信」と 呼びます。今まで扱ってきたInt型やString型の変数はオブジェクトなのでメッセージを送る事ができます。オブジェクトに対してメッセージを送りたい時は次のようにします。

変数名.メッセージ

次の例はString型の変数に対してisEmptyというメッセージを送っています。isEmptyはString型のオブジェクトの文字列が空であればtrue、空でなければfalseを返すメソッドです。

オブジェクトにメッセージを送ると、メッセージを送った結果が得られます。この場合は"abcde"という文字列オブジェクトである変数strにisEmptyというメッセージを送っています。メッセージを送った結果、falseを返してくれますので、falseを変数resultに代入して、printlnで出力しています。