Javaの基礎

理解するコツ

・単体の関数は存在しない。すべてのメソッドはオブジェクトに属している
・参照型とはエイリアス(alias:別名)のこと
・String型は参照型だが、イミュータブルなので、意識しなくていい
・クラス名が、インスタンスを生成する際の型になる
・オブジェクトは「型」によって自ら果たす責務を表現している
・クラスを定義することで、新しいデータ型を定義できる
・配列は型ではない
・インターフェイスは「型」としての役割を果たす

PHPとの違い

・すべてのプログラム活動は、クラスの内部で行われる
・変数は使用前に宣言しなければならない
・「and」ではなく、「&」「&&」
・「or」ではなく、「|」「||」
・いわゆる「関数」は存在せず、「function」コマンドは存在しない
・参照型がある
・配列は参照型
・ローカル変数のスコープは、宣言されたブロックの終端まで
・グローバル変数は存在しない
・連想配列はHashtableクラスを使用する

JavaScriptとの違い

・すべてのプログラム活動は、クラスの内部で行われる
・変数は使用前に宣言しなければならない
・いわゆる「関数」は存在せず、「function」コマンドは存在しない
・ローカル変数のスコープは、宣言されたブロックの終端まで
・グローバル変数は存在しない
・配列は型ではない

Javaとクラス

Javaで実行されるすべてのプログラム活動は、クラスの内部で行われる

オブジェクト指向プログラミングの3原則

・カプセル化
・継承
・ポリモーフィズム

抽象化とは

大枠の構造(骨組み)を抜き出し、全体像を見えやすくすること

情報隠蔽

・information hiding
・外から見て不必要なものは、クラスの内部に隠し持つべき、という考え方
・オブジェクト指向は、隠す技術である
・privateにできるものはpublicにしない

糖衣構文

・「シンタックスシュガー」とも
・元々の構文の置き換え用に提供されている、より平易な書式
・元々の構文を理解せずに使用すると、思わぬエラーに悩まされることがあるので注意

YAGNI原則

・You Aren't Going to Need It. の略
・今必要のないものは作るな、今後も必要になることはない

One fact in one place

1つの事実は1箇所に、というプログラミング原則

ドメインモデルとUI

ドメインモデルとは、UI(ユーザインターフェイス)の種類を問わずに動く共通部分

ガーベジコレクション

オブジェクトで使われていたメモリリソースを自動的に回収するJavaの仕組み

CRUD

Create、Read、Update、Deleteの頭文字。データ保存に関する基本動作