はじめに
今回は、オブジェクト指向に必要な知識を文法的な側面からお伝えしていきます。
オブジェクト指向の三原則と言えば、“カプセル化・継承・ポリモーフィズム”ですが、これを聞いて素直に『なるほど、そういうことか!!』と納得する方は少ないのではないでしょうか。
それもそのはずで、そもそもその三原則を聞いてもパッとイメージが湧いてこないのはなぜなのでしょうか。
ここからは個人的な見解になりますが、
おそらくは、この三原則がオブジェクト指向を極めてたどり着いた先人たちの究極論のようなものだからだと思います。
それは、かの有名な哲学者、デカルトが 自分自身の存在を肯定するために考えて考えて考え抜いた結論として“我思うゆえに我あり“と唱えた、ある種哲学に近しいものだと思います。
(↓↓ そうでなければ、10年、20年も戦い続けられないと思います(汗))
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgyJUFBJUUzJTgzJTk2JUUzJTgyJUI4JUUzJTgyJUE3JUUzJTgyJUFGJUUzJTgzJTg4JUU2JThDJTg3JUU1JTkwJTkxJUUzJTgxJUE4MTAlRTUlQjklQjQlRTYlODglQTYlRTMlODElQTMlRTMlODElQTYlRTMlODIlOEYlRTMlODElOEIlRTMlODElQTMlRTMlODElOUYlRTMlODElOTMlRTMlODElQTgmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTYxZDE2YjczMGUyMWU0NjQyNGFkMDU2Yzg1YWRjNjE3&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0dXRpbm9jbyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9Y2E5MDk2OWY1MTNiZGQzZTJlMWZmYWZjZWQ0MmIwOGQ&blend-x=142&blend-y=486&blend-mode=normal&s=a61136534fa432ab0f135f8d9f6842ae)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgyJUFBJUUzJTgzJTk2JUUzJTgyJUI4JUUzJTgyJUE3JUUzJTgyJUFGJUUzJTgzJTg4JUU2JThDJTg3JUU1JTkwJTkxJUUzJTgxJUE4MjAlRTUlQjklQjQlRTYlODglQTYlRTMlODElQTMlRTMlODElQTYlRTMlODIlOEYlRTMlODElOEIlRTMlODElQTMlRTMlODElOUYlRTMlODElOTMlRTMlODElQTgmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTdlMDQyNzhmNjg0N2FmOTMwZjJlYjljN2JhNjY5N2Y2&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBzaGlidWthd2EmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTViZGYyNWVmY2VhODI2ZGZmZWNjODZhYjUzZGNjZjJh&blend-x=142&blend-y=436&blend-mode=normal&txt64=aW4g44OV44Ol44O844OB44Oj44O85qCq5byP5Lya56S-&txt-width=770&txt-clip=end%2Cellipsis&txt-color=%23212121&txt-font=Hiragino%20Sans%20W6&txt-size=36&txt-x=156&txt-y=536&s=d8228cbe5ad9686b6b4a947925a6f3c3)
↓↓こんな本もあるみたいです。(評価高め✨)
しかし、アプリ開発でオブジェクト指向が使われる以上避けては通れませんので初学者なりにこの三原則をさらに噛み砕いてオブジェクト指向を紐解いていこうと思います。
オブジェクト指向に必要な知識 7選
オブジェクト指向の三原則をさらに噛み砕くなら、7つの基本文法(java)の理解によってイメージがより鮮明になるでのはないかなぁと思います。今回はこれら7つの押さえておくべき知識をまとめておきます。(あくまで、プログラミングを始めて3,4ヶ月しか経っていない素人の結論です)それでは見ていきましょう。
- クラス、メソッド、フィールド、ローカル変数について理解し書けるようになる
- インスタンス、コンストラクタについて理解し書けるようになる
- 抽象・具象クラスの関係性について理解する(抽象クラス、インターフェースの意義を考える)継承
- アクセス修飾子について、public, private等をその場で判断し使い分けられるようになる カプセル化
- 参照型変換について、(インスタンス化する際にどのクラスのオブジェクトを生成するか?③とも絡めながら)理解できるようにする
- オーバーロード・オーバーライドについて説明できるようにする ポリモーフィズム
- ジェネリクスについて理解する
『多いわっっっ』と言う声が飛んできそうですがオブジェクト指向を極めるのはそれくらい大変なことなのです。
以上の内容が理解できればある程度の基本は押さえられているはずです。
私がこれらをどうやって理解したかというとメインとしては、Paizaの問題解きと本を読んで実際に自分でコーディングしてみることです。(まだまだ勉強中です(笑))
![](https://paiza.jp/images/ogp/og_paiza_common.png)
オススメ書籍についてはこちら↓。
![](https://yuuu-daily.com/wp-content/uploads/2022/03/f297e0eac76d4e0076c6ab397c40e720-300x199.jpg)
最後に
いかがでしたでしょうか。オブジェクト指向の学び方や理解の仕方は人によって様々だと思います。(要は現場で通用するレベルまで持っていければそれでいいのかなと)
皆様はどのようにオブジェクト指向と向き合い戦っていますでしょうか。(笑)
私自身も引き続き試行錯誤しながらオブジェクト指向という哲学と向き合っていこうと思います。
最後まで見て頂きありがとうございました。