Javaの用語と知識
しばらくお勉強です,用語を制するものは何かを制すと思いたいプログラムは出てこない?です
クラスとオブジェクト
Javaはオブジェクト指向言語であるという言葉を聞いたことはありますか?オブジェクトとは、例えばテレビ、エアコン、車、そして例えば会員、小学生、友達など
実際に存在するモノや概念のことを言うらしい
さらに、「車」を考えてみよう
車とは・・・
性質(状態):座席数、ガソリン搭載量、走行速度・・・
動作(操作):発進、停止、加速、減速、・・・
こういった「性質」と「動作」をもった「車」という「物体」
これをモデル化したものをオブジェクトというわけです
クラスとは、オブジェクトを生成するための設計図
オブジェクトの性質と動作をまとめたものである
性質を変数(フィールドと呼ぶ)、動作を関数(メソッドと呼ぶ)として保持する
クラスに属するフィールド、メソッド(コンストラクタ含む)をメンバと言う
コンストラクタ
クラス名と同じ名前のメソッドオブジェクトを生成するときの初期化処理を行う
インスタンス
クラスの実態オブジェクトとほとんど一緒
オブジェクトは考え方みたいなものだけど、インスタンスはメモリ上のデータの集合と実態とした意味が強い
クラスからオブジェクト(インスタンス)を生成することをインスタンス化という
オブジェクト指向
例えば「車」を作ろうとするそのために「座席」、「エンジン」、「タイヤ」、「加減速」・・・と様々なオブジェクトが部品として存在するとする
これを組み合わせ、互いに作用させることで「車」を作る
これがたぶんオブジェクト指向
モノとモノの絡み合いをソフトウェアの動作と捉える考え方