PythonでInner class(Nested Class)を使うケース

なぜInnerクラス(Nested クラス)なのか?

主に以下の3つのメリットがあげられる

  1. 2つ以上のクラスをグループ化することができる 車とエンジンの2つのクラスがあるとします。車にはエンジンが必要です。しかし、エンジンは車がないと使えません。そこで、エンジンを車の内部クラスにします。これでコードの節約になります。

  2. クラスの隠蔽。Nestedクラスを利用することでそのクラスを外部から隠すことができます。

  3. クラスがわかりやすくなります。ここではクラスは密接に関係しています。コードの中でクラスを探す必要はありません。全部一緒になっています。

インナークラスやネストされたクラスは、Pythonではあまり使われていない機能です。しかし、コードを実装する上では良い機能になります。インナークラスやネストされたクラスを使うと、コードが整理しやすくなることがあります。

class Outer:

    
    class Inner:
        pass