Javaにおいて依存性とは何?

「依存性がある」というのは簡単に言うと、「他のクラスを利用している」ということです。具体的には、以下の2つのどちらかに該当すると、依存性があると言えるでしょう。

  • 他のクラスをローカル変数として持つ
  • 他のクラスがメソッドの引数、戻り値になっている

例えば、弁当を例で説明してみましょう。弁当にご飯があります。他にもおかずなどいろいろありますが、例を簡単にするためにご飯だけを例にしてみましょう。そのとき、コードは以下のようになるでしょう。

  • 弁当クラス
//弁当クラス
public class Bento {
 private Gohan gohan;//ご飯

 //コンストラクタ
 public class Bento(Gohan gohan) {
  this.gohan = gohan;
 }
}

この弁当クラスは、ご飯を入れます。この弁当を作る(new)にはコードは以下のようになります。

  • Mainクラス
public class Main {
 public static void main(String[] args) {
  
  //ご飯の生成(インスタンス化)
 Gohan gohan = new Gohan();

  //弁当の生成(インスタンス化)
  Bento bento = new Bento(Gohan);
 }
}

このように、あるクラスが別のクラスを利用するのこと依存と言います。