読者です 読者をやめる 読者になる 読者になる

Abnormalに生きる

化学の研究者→消防士→ITエンジニア(2016年11月〜)

第1回 オブジェクト指向とは 〜Rubyの勉強〜

Ruby

 今回から、プログラミング言語Rubyを正しく理解することを目的として、記事を書いていきたいと思います。Rubyを特徴付けるキーワードには、オブジェクト指向、クラス、継承、Mix-in、モジュール、カプセル化メタプログラミング等が挙げられ、Rubyを理解する上でどれも非常に重要な概念となっています。今回から、これらの重要なキーワードを一つ一つ正しく理解することでプログラミング言語Rubyへの理解を深めていきたいと思います。第1回はオブジェクト指向についてです!

オブジェクト指向とは?

 RubyJavaPython及びObjective-Cなどはオブジェクト指向言語というものに分類されます。オブジェクト指向とは、ソフトウェアの設計や開発における考え方の一つであり、操作対象に重点を置く考え方です。オブジェクト(object)とは、日本語では「もの」などと訳されます。ではここでいう「もの」とは何でしょうか? オブジェクト指向の世界においては、物理的なものでも抽象的なものでも、それが認識の対象として具体的に識別できるものなら何でもオブジェクトとして扱います。例えば、Rubyでは、文字列、数値、時刻など全てのデータがオブジェクトとして扱われます。すなわち、"Hello, world!"や"programming"は文字列オブジェクト、1や3.14は数値オブジェクトと呼ばれます。

 オブジェクトはそれぞれ何らかの役割(メソッド)を持ち、命令を実行することができます。オブジェクトのメソッドを実行するときは、以下のようなコードを実行します。

(オブジェクト).(メソッド名)

たとえば、文字列”programming”をすべて大文字にするには、upcaseメソッドを使用します。

"programming".upcase
=> PROGRAMMING

 現在、ソフトウェア開発の世界では、オブジェクト指向の考え方を取り入れた言語が広く用いれています。一般的に、オブジェクト指向はコードの再利用がしやすく、生産性が高いなどのメリットがあると言われています。今回の記事だけではなぜそのようなメリットがあるのかについてはまだ説明できません。その点に関しては追い追い書いていきたいと思います。

 次回は、オブジェクト指向において非常に重要な概念である「クラスとインスタンス」について書きたいと思います。