interface
interfaceの果たす役割は1つではない.
ポリモーフィズムを実現するために共通の機能を束ねる.
具体クラスの詳細・知識を削ぎ落して抽象化した窓口を提供するもの.
モックを作成して作業を独立させることができる.
単体テストでも恩恵.
プロダクトではinterfaceを介してしかやりとりしないため,単体テスト用のpublicメソッドを実装できる.
TypeScript
TypeScript/interface