katsu-coach1215

JavaScript

【Node.js】Node.jsとは?サーバーサイドJavaScriptの基本を理解する

こんにちは、かつコーチです。「Node.jsって聞いたことはあるけど、結局何なのか分からない」。そんな悩みを持つ方は多いです。ずっと記事にしていませんでしたが、この際まとめておきましょう。この記事では、Node.jsが何者なのかを、ブラウザ...
Python

【Python】発電所登録処理1

こんにちは、かつコーチです。Pythonで開発しているコードを備忘録として記載します。file_upload_power_plant.pydef file_upload_power_plant(arguments: list) -> int...
プログラミング

システム開発における工程

こんにちは、かつコーチです。プログラミングを学習して、様々なものが作れるようになってきたとはいえ、実際実務となるとどのような過程で制作されるのかがはっきりしないところがあります。今回はシステム開発における工程を解説します。1. 要件定義目的...
Java

【Java】JavaのIteratorの仕組みと拡張for文との関係を解説

こんにちは、かつコーチです。「拡張for文でListを回しながら要素を削除したらエラーになった」という経験はありませんか。今回は拡張for文の裏側で動いているIteratorの仕組みを理解し、この定番のエラーを解決していきます。Iterat...
Java

【Java】JavaのComparator・Comparableの違いと使い方で並び替えをカスタマイズする

こんにちは、かつコーチです。自作クラスのListを並び替えたいとき、sortメソッドを呼んでも「どの基準で並べるか」が分からずエラーになった経験はありませんか。今回はJavaで並び替えの基準を決めるComparableとComparator...
Java

【Java】JavaのMapとは?HashMap・TreeMap・LinkedHashMapの違いを解説

こんにちは、かつコーチです。今回は「キーと値のペアでデータを管理する」Mapについて解説します。実装クラスが3種類あって混乱しやすいポイントなので、それぞれの特徴とつまずきやすい落とし穴を、実際のコード付きで整理していきましょう。Mapとは...
Java

【Java】JavaのSet入門:HashSetとTreeSetの違いを初心者向けに解説

こんにちは、かつコーチです。前回はListを解説しましたが、今回は「重複を許さないデータの集まり」を扱うSetについて説明します。「Listと何が違うの?」「HashSetとTreeSetはどう使い分ける?」という疑問を、実際のコードとつま...
Java

【Java】JavaのList入門:ArrayListとLinkedListの違いを初心者向けに解説

こんにちは、かつコーチです。今回は、Javaでデータをまとめて扱うときによく使うList(複数の値を順番に並べて管理する仕組み)について解説します。「配列と何が違うの?」「ArrayListとLinkedListってどっちを使えばいいの?」...
Java

【Java】JavaのObjectクラスの役割と共通メソッドを理解する

こんにちは、かつコーチです。「継承していないのに、なぜどのクラスでもequals()やtoString()が呼べるのか」と疑問に思ったことはありませんか。今回はすべてのクラスの頂点にあるObjectクラスの役割を整理します。Objectクラ...
Java

【Java】Javaのequals・hashCode・toStringを正しく実装する

こんにちは、かつコーチです。「HashSetに入れたはずのオブジェクトが重複して入ってしまう」といったバグに遭遇したことはありませんか。今回はequals・hashCode・toStringを正しく実装するための考え方を、実際のバグ事例とあ...
Java

【Java】Java21のrecordでシンプルにデータを表現する使い方

こんにちは、かつコーチです。「値を保持するだけのクラス」を作るたびに、コンストラクタ・getter・equals・hashCode・toStringを書くのに疲れたことはありませんか。今回はJava 21(LTS)でも標準機能として使えるr...
Java

【Java】Javaのenumの使い方:定数管理から振る舞いの実装まで

こんにちは、かつコーチです。「曜日」や「ステータス」のような決まった値を扱うとき、intやStringの定数で済ませていませんか。今回はJavaのenum(列挙型)を使って、そうしたコードを安全で読みやすくする方法を解説します。enumとは...
Java

【Java】Javaの内部クラス・匿名クラスの使い方を種類別に整理する

こんにちは、かつコーチです。Javaには4種類の「クラスの中に書くクラス」があります。今回はその使い分けと、実際に手を動かして分かった注意点を整理します。4種類の内部クラスの違いメンバ内部クラス(Inner Class)外側のクラスのインス...
Java

【Java】Javaのinterfaceデフォルトメソッド・静的メソッドを使いこなす

こんにちは、かつコーチです。今回はJava 8以降のinterfaceに追加された、デフォルトメソッドと静的メソッドを扱います。「interfaceは抽象メソッドしか持てない」という前提知識をアップデートしたい方向けの内容です。デフォルトメ...
Java

【Java】interfaceの基本を初心者向けに分かりやすく解説

こんにちは、かつコーチです。前回は抽象クラスを解説しました。今回は、抽象クラスと似ているようで役割が異なる「interface」の基本について解説します。interfaceとは?「実装すべき機能の約束事」を定義するinterface(インタ...
Java

【Java】抽象クラス(abstract)の使い方を基礎から解説

こんにちは、かつコーチです。前回はオーバーライドとポリモーフィズムを解説しました。今回は、「共通の設計だけ決めて、具体的な実装は子クラスに任せたい」というときに使う抽象クラス(abstract)について解説します。抽象クラスとは?インスタン...
Java

【Java】メソッドのオーバーライドとポリモーフィズムの違いを解説

こんにちは、かつコーチです。前回は継承の基本を解説しました。今回は、継承と組み合わせて使う「オーバーライド」と、オブジェクト指向の中核概念の1つである「ポリモーフィズム」について解説します。オーバーライドとは?親クラスのメソッドを子クラスで...
Java

【Java】継承の基本とsuperキーワードの使い方をわかりやすく解説

こんにちは、かつコーチです。ここまでクラス・オブジェクト・カプセル化を解説してきましたが、今回は複数のクラスに共通する部分をまとめられる「継承」と、セットで使うsuperキーワードを解説します。継承とは?共通部分を親クラスにまとめる仕組み継...
Java

【Java】カプセル化とgetter・setterの書き方を初心者向けに解説

こんにちは、かつコーチです。前回はコンストラクタで初期値を安全に設定する方法を解説しました。今回は、フィールドを外部から自由に触らせないようにする「カプセル化」と、そのためのgetter・setterの書き方を解説します。カプセル化とは?フ...
Java

【Java】コンストラクタの基本とthisキーワードの使い方

こんにちは、かつコーチです。前回の記事でクラスとオブジェクトの違いを解説しましたが、「オブジェクトを作るたびにフィールドを1つずつ代入するのが面倒」と感じませんでしたか?今回は、その悩みを解決するコンストラクタと、セットで登場するthisキ...