【初心者向け解説】Javaの超基本だけど理解が難しい要素

IT

こんにちは、こんばんは、パスタです!

今頃は内定式だったり、第二新卒だったりで人事のイベントが多い時期ですが、IT系に就職した人の中には「Java?何それおいしいの?」って人や、「ITって結局何www」って人が多いと思います(私もその一人でした)

でもいざ勉強してみると意味のわからない単語ばかりで、しかも大体同じことしか書いてないし、わからないまま進んでいく・・・なんて人が多いのではないでしょうか?

そんな気持ちをとても理解できる(と思っている)私が、初心者の目線に立ってJavaに関する基本中の基本、でも超重要な要素を解説します!

目的はあくまで概念を理解してもらうことです。

概念が理解できれば、技術的な要素も理解しやすくなるし、やっていくと楽しくなるかも!?

オブジェクト指向

概念、考え方のことです。YoutubeやAmazonを見ると、人によって表示されるものが違いますよね?

あれはその人の閲覧履歴や買い物履歴に合わせて、一人一人の表示を変えているのですが、ある機能をベースに、与える情報によって見せ方や動作を変えるモノづくりの方法を言っています。

クラス

先ほどのオブジェクト指向の考え方に関係することで、オブジェクト指向に基づいて使われている技術です。

オブジェクト指向の説明内で「ある機能をベースに」と言いましたが、それがクラスです。

クラスをベースに色んな情報を与えると、情報に合わせた形に変化する。そんなイメージです。

例えば、車の設計図があるとします。

車って形や内装など、基本は同じですが、グレードやオブションなど、その人の好みによって細かい違いがありますよね?

Javaで言えば、

クラス→車の設計図
与える情報→購入者の好み(色、グレード、オプションなど)

です。

同じ設計図の車でも、人の好みによって見た目が変わる。
Javaの言い方だと、
同じクラスでも与える情報によって結果が変わる。
これがオブジェクト指向の考えに基づいたクラス(設計図)です。

車でわからない方もいると思うので、服で例えるならば、
Tシャツやワンピースにも、同じ形でもサイズ、色が複数ありますよね?

服の基本的なデザインがクラス、サイズや色が与える情報と考えるとイメージしやすいと思います!

メソッド

先ほど「同じクラスでも与える情報によって結果が変わるとご説明しました。

与えられた情報をクラス内で実際に処理する役割メソッドが担当しています。

例えば、
車の内装
・エンジン
カラー
この3つを購入者が自由に決められるようにしたい場合、
3つをそれぞれメソッドとして用意します。

用意したメソッド以外のことは出来ませんが、逆に言えば、ナビやドライブレコーダーなどのオプションを設定できるようにしたい場合は、メソッドを追加してあげることで購入者が選べるようになります。

このメソッドを持ったクラスがベースとなるので、ベースを変更してあげるだけで色んな使い方をしてあげることができます。

先ほどと同様に服で例えるならば、
Tシャツを「長袖と半袖選べるようにしたい」「ワンピースをショート丈かロング丈か選べるようにしたい」場合はメソッドを追加してあげることで選べるようになります!

これがオブジェクト指向の良いところです!

インスタンス化

一言で説明するならば、クラス(設計図)を使えるようにする宣言です。

私はこの車が欲しいから、好みを決めるためにこの車のカタログと見積もり頂戴!と言っている感じですね!

Java的な言い方をすると、クラスをインスタンス化することでPCのメモリ領域にコピーします。
このコピーした物に対して情報を与えるとメソッドが処理し、様々な形に変化、表示させる流れになります。

戻り値

簡単に言えば与えた情報を基に処理した結果です。
電卓で計算したい数字を入力すると答えでますよね?それですw

先ほどのクラスと交えて話すと、クラスに対して情報を与える、
つまり車のカタログを見て好みにカスタマイズして、1つのオリジナルな車が出来上がること。
この出来上がった車が戻り値です!

服で言えば好みのサイズやカラーを選択して出来上がったものですね!

なんで戻り値なんて言い方するのか気になりませんか?

それはプログラムというもの自体が、それぞれ相互にやり取りをするものだからです。

あなたが「この内容で服作って!」とクラスに渡すと、「了解!ちょい待って!」とクラス側で好みに合わせた服を作ります。出来上がった服のデザインを「出来たよ!こんな感じでどう?」とあなたに結果を渡すことになりますが、あなたからすると結果が返ってくる=戻ってくることになりますよね?

だから戻り値と言うのです!

プログラムの基本的な考え方にもなるので、ぜひ意識してみてください!

サーブレット

画面等で入力した情報を渡す技術、いわゆる通信方法みたいなものです。
専門的な用語でいえばGETPOSTが渡す方法になるのですが、例えば服をオンラインで購入するとします。サイズやカラーを選択しますよね?

その選択した内容をサーブレットという機能を使ってインスタンス化したクラスに送ってあげます。

そうするとクラスは与えられた情報を基にあなたの好みに合わせてた服の情報を戻り値として返し、結果を表示してくれます。

おわりに

ITもプログラミングも知識ない状態で見ると絶対にわけわからないと思うんですよね、これらの単語w

でも概念を理解すると実は難しいことじゃなかったんだ!と思えるはず・・・

ただその理解が難しい&わかりやすい解説が無いので、その手助けになれば幸いです!

今日はこの辺で、それでは!

コメント

タイトルとURLをコピーしました