昨日Twitterに書いた内容に、sivchariさんとhajimehoshiさんからリプライをいただいたので、備忘録的にまとめておきます。 発端 interface型と非interface型の後方互換性について interface型を公開した場合 1. メソッドの追加 2. メソッドのシグニチャの変更 3. メソッドの削除 公開されたinterface型を変更する場合の後方互換性についてのまとめ 非interface型を公開した場合 1. メソッドの追加 2. メソッドのシグニチャの変更 3. メソッドの削除 公開された非interface型を変更する場合の後方互換性についてのまとめ その他の後方互換性を崩さない機能拡張のパターンの紹介 他から実装できないinterfaceにする interfaceを合成する 内部用のinterfaceを分け、構造体型を公開する まとめ 発端 昨日、フュ