#簡単にまとめてみた
いまなんとなく把握しているイメージを共有してみる。小難しい話を聞くよりこっちのが全体像を理解するのにはいいんじゃないかと思う。(細かいところ違ってると思うので、細かいとこの理解はグーグルなどで)
まず、JavaにはOracleのすげー頭いい人が作った便利なクラスがいっぱいある
たとえば
Java-lang-Object
上はJavaの中のlangクラスのObjectクラスという意味
#他にも、Javaではめっちゃくちゃ沢山の「クラス」が用意されている
androidで使っている便利なものなども「クラス」で定義されている
java.lang.Object
↳ android.view.View
上記は下記の意味
andriodで初めに触るであろう「Viewクラス」(テキストビューなど)も、
Objectクラスを継承する形でGoogleの頭いい人が作った「クラス」である
また、「エラー」とよくいうが、エラーにもクラスが用意されている
java.lang.NullPointerException
langクラスの中でいわゆる「ぬるぽエラー」を定義している。
コード書く人がこういう書き方をしたらNullPointerExceptionとエラーを出せ!!
とOracleの人が定義しているのである。
他のエラーも同様にjava.lang.....で定義されている
ようするに、なんでもかんでもクラスで定義されている。
#そして便利なのはそのクラスを自分で作れること
上みたいに、便利っぽい動きや処理をまとめたクラスを作ることで、外部に公開すればみんながその「クラス」を使えるようになり、また自分も外部の便利な「クラス」を利用することができる。
そして、「クラス」とは「オブジェクト」である。
(オブジェクトとはもっと広い意味での「クラス」のようなもの。オブジェクトの中に「クラス」があるというイメージ)
で、このように、いろんなクラスを利用したり、書いたり、クラス(オブジェクト)を相互に関係しあって利用できるプログラミング言語のことを「オブジェクト指向」という。
なので、オブジェクト指向でないプログラミング言語もあるのだ!
C言語とかは全部自分で作らないといけないらしい。
終わり