Photo by Scott Akerman
こんにちは。谷口です。
プログラミング初心者の方で、オブジェクト指向の勉強に苦労している方は多いかと思います。(そして教える側で苦労している人も多いと思います)
オブジェクト指向プログラミング(OOP) に適した機能を備えたプログラミング言語には、JavaやC#、Rubyなどいろいろな言語がありますが、これらの言語を学ぶ中で、オブジェクト指向について理解する必要性が出てきた人もいるかと思います。また、C言語などの手続き型言語を最初に学んで、次にJavaなどを学ぶことになって「オブジェクト指向とは……??」となっている人も多いのではないでしょうか。(というか私がそうでした)(そして結構な期間「オブジェクト思考」だと思ってました)
プログラミングにおける「オブジェクト指向」とは、データと、そのデータに関する処理を含めてオブジェクトとして定義し、オブジェクト同士の相互作用をもとに処理が行われる…という考え方です。クラスベースのオブジェクト指向では、「クラス」というオブジェクトの設計図をもとに、インスタンス(実体)を作っていきます。
……と言っても何だかよくわかりませんよね。
↓「オブジェクト指向」という言葉で調べてみても……辞書や用語集、ウィキペディアに至るまで、いろいろな説明があって、わかったようなわからないような……簡単に説明したり、ざっくり理解したりするのがとにかく難しいのがオブジェクト指向という概念です……。
オブジェクト指向 - Wikipedia
オブジェクト指向とは - はてなキーワード
オブジェクト指向とは - 意味の解説|ITトレンドのIT用語集
そこで今回は、オブジェクト指向についてなるべくやさしく、なるべくコストをかけずに学べるコンテンツを、解説のベースになっている言語ごとに、計10件ご紹介していきます。
■オブジェクト指向入門サイト
◆Java
◆PHP
◆JavaScript
◇オブジェクト指向 JavaScript 入門
developer.mozilla.org
(※Javascriptは、クラスベースではなくプロトタイプベースのオブジェクト指向言語になります)
■オブジェクト指向入門本
◆Java
◇わかりやすいJavaオブジェクト指向入門編
- 作者: 川場隆
- 出版社/メーカー: 秀和システム
- 発売日: 2013/12/27
- メディア: Kindle版
- この商品を含むブログを見る
◇オブジェクト指向でなぜつくるのか
- 作者: 平澤章
- 出版社/メーカー: 日経BP社
- 発売日: 2014/03/05
- メディア: Kindle版
- この商品を含むブログ (2件) を見る
◆Ruby
◇オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
- 作者: Sandi Metz,?山泰基
- 出版社/メーカー: 技術評論社
- 発売日: 2016/09/02
- メディア: 大型本
- この商品を含むブログ (6件) を見る
■まとめ
オブジェクト指向は、プログラミングにおける考え方の一つですから、説明を読むだけでなく、実際にプログラミングをした方が圧倒的に理解が深まります。
上記サイトや書籍のサンプルコードを実際に自分で作ってみるのもよいですし、『ThoughtWorksアンソロジー』という書籍では「オブジェクト指向エクササイズ」という勉強方法も紹介されているので、練習としてこちらにトライしてみるのもよいかと思います。
ThoughtWorksアンソロジー ―アジャイルとオブジェクト指向によるソフトウェアイノベーション
- 作者: ThoughtWorks Inc.,株式会社オージス総研オブジェクトの広場編集部
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/12/27
- メディア: 単行本(ソフトカバー)
- 購入: 14人 クリック: 323回
- この商品を含むブログ (81件) を見る
動画で学べるpaizaラーニングには、Java、PHP、Ruby、C#、JavaScript、Pythonなどのプログラミング言語が学べるレッスンだけではなく、「未経験からITエンジニアを目指したい!」という方に向けて、IT業界の構造やエンジニアのキャリアについて学べる「ITエンジニアの就活準備編」もございます。
「ITエンジニアの就活準備編」では、エンジニアのキャリアや働き方がわかる「業界構造を学ぶ」、就活で使えるポートフォリオの作り方がわかる「ポートフォリオ制作」のレッスンを公開中。新卒の就活生だけでなく、ITエンジニアとしての転職を目指す方に役立つ動画レッスンとなっております。
詳しくはこちら
ITエンジニアの就活準備編のレッスン一覧 | プログラミング学習サービス【paizaラーニング】
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら