カプセル化・情報隠蔽の思想 ── なぜ private にするのか、getter/setter は何のためにあるか
「とりあえず private にする」から脱却する。情報隠蔽の原則がなぜ生まれたか、public フィールドの何が問題か、getter/setter をただ生やすアンチパターン、イミュータブル設計との関係を解説。
「とりあえず private にする」から脱却する。情報隠蔽の原則がなぜ生まれたか、public フィールドの何が問題か、getter/setter をただ生やすアンチパターン、イミュータブル設計との関係を解説。
純粋関数・副作用なし・イミュータブルデータとはどういう考え方か。オブジェクト指向と何が違うのか。Java 8 でラムダ・Stream が導入された背景と、関数型の考え方がコードをどう変えるかを解説。
なぜ Effective Java は「継承よりコンポジション」と言うのか。is-a と has-a の違い、深い継承ツリーが壊れる理由、コンポジションへの書き換え方を具体例で解説。
「Write once, run anywhere」「型安全性」「GCによる自動メモリ管理」「オブジェクト指向の徹底」。Java の各設計判断がなぜそうなったのかを、C/C++ の教訓と1990年代のソフトウェア危機から読み解く。