機能だけ見た場合、どれでも良いと思うけれども
使い分けは、ドメインモデルからコードに起こす際に発生するんじゃねーかしら?

  抽象クラス
    ・実体として見た場合も、継承関係が発生する物
    ・例としては、 「抽象クラス:自動車」 を継承した 「クラス:乗用車」「クラス:タクシー」「クラス:トラック」 等

  集約
    ・独立して存在出来る物を、他の実体にも内包したい場合
    ・例としては、自動車に搭載するカーオーディオとか

  インターフェース
    ・独立して存在出来ないが、機能としては共通する物
    ・例としては、自動車でも電車でも飛行機でも良いので 「エンジンを掛ける」 という行為

俺ならこんな感じかしら?
自分で見てもちょっと微妙だけど