2
0

More than 1 year has passed since last update.

スッキリわかるJava入門 第3版を読んでみて- part7 -オブジェクト指向をはじめよう

Last updated at Posted at 2023-08-09

はじめに

こんにちは(・ω・)ノ
今回はオブジェクト指向について学びました!

第7章 オブジェクト指向をはじめよう

1.オブジェクト指向を学ぶ理由

 ソースコードが長く複雑になりすぎて、開発者自身が内容を把握できなくなる
 ⇨人間自身がプログラム開発のボトルネックとなる
ボトルネック ...業務の停滞や生産性の低下を招いている工程・箇所

オブジェクト指向プログラミング
 大規模なプログラムもラクに開発できる

:sparkles:オブジェクト指向の目的
 「人間が把握しきれない複雑さ」を克服するため

:sparkles:学習意識の切り替え
 基本文法とオブジェクト指向とでは、そもそもの学び方もまったく違う

 オブジェクト指向の学習においては、
  概念を理解することやイメージすることをより重要視する必要がある

オブジェクト指向という考え方を学ぶ
 ⇨ぼんやりとした理解でいい、繰り返し、少しずつ理解を深める

2.オブジェクト指向の定義と効果

 オブジェクト指向とは何か...?

:sparkles:オブジェクト指向の定義
 ソフトウェアを開発するときに用いる部品化の考え方

オブジェクト指向の目的:
 人間が把握しやすいプログラム開発を実現する
メリット:
・プログラムの変更が容易になる(柔軟性・保守性の向上)
・プログラムの一部を簡単に転用できる(再利用性の向上)
↑もっと簡単にすると...

:sparkles:オブジェクト指向を用いるメリット
 「ラクして、楽しく、良いもの」をつくれる

3.オブジェクト指向の全体像と本質

 :question: なぜオブジェクト指向を導入することで「ラクして、良いもの」が実現できるか

そもそもなぜプログラムを作るのか?
⇨現実世界における何らかの活動を自動化するため

従来のプログラミング...手続型プログラミング
コンピュータの動きの手順を考え、プログラムの先頭から順番に命令として記述する方法

:sparkles:オブジェクト指向による部品化のルール
 現実世界に出てくる登場人物の単位で、プログラムをクラスに分割する

「〜指向」 = 「〜を大切にした」、「〜を中心に添えた」という意味

 :question: なぜオブジェクト指向を導入することで「ラクして、良いもの」が実現できるか
 ⇨ 私たち人間が慣れ親しみ、よく把握している現実世界を
      マネして作られたプログラムもまた、
          私たち人間にとって把握しやすいものだから

:sparkles:オブジェクト指向の本質
 現実世界の登場人物とその振る舞いを、コンピュータ内の仮想世界で再現する

4.オブジェクトと責務

:sparkles:責務の割り当て
開発者はそれぞれの部品(クラス)に
 「責務(役割や責任)」をプログラムとして書き込む

オブジェクトは「属性」と「操作」を持っている
・「属性」...情報を覚えておく箱
・「操作」...行う行動や動作の箱

5.オブジェクト指向の3大機能

オブジェクト指向言語(javaなど)
 オブジェクト指向の考え方に沿ってプログラムを作りやすい配慮がされている

オブジェクトの3大機能
継承
多様性
カプセル化

詳しくは今後学んでいくため、今はこの3つがあるという認識でOK

まとめ

今回学んだオブジェクト指向は考え方を学ぶためイメージを重視し、これからの章を繰り返し学んでいくことで理解を少しずつ深めていこうと思います。
そのはじめとしてオブジェクト指向はソフトウェア開発の際に用いる部品化の考え方ということを学びました。
オブジェクト指向の本質として現実世界における「登場人物のふるまい」を仮想世界の「オブジェクトのふるまい」として再現しているということもあわせて学びました。
今回はなぜと思うことを解決しながら学習できたので理解はしやすかったと感じました。

今回もありがとうございました!
ではまた〜 *˙︶˙*)ノ"

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0