・実装を隠蔽して抽象データ構造のアクセサのみでプログラムを書ける ← 具象クラスでも出来ること
・実装を強制してヒューマンエラーを少なくできる ← 具象クラスでは出来ないこと
・実装を後回し(or プラグイン)にしてコアルーチンとの癒着による弊害を抑える

あと抽象データ構造の内部実装に深くかかわるコンストラクタは記述できない点もあるね

インタフェースってば抽象データ構造そのものだから具象クラスとほとんど変わらない
未実装の場合はコンパイラが警告してくれるくらい


どういう前提知識を持っているのかわからねーので、例えはきっと他の人が書いてくれるはず