Before I knew about interfaces, I have been using components to essentially do the same thing. For example, I would have a health component, that would take care of any damage or healing. Rather than having classes implement IDamageble or IHealable, I would simply check to see if a gameobject had a Health script attached.
Can people with experience with Unity tell me upsides or downsides of either? Should I switch to using interfaces instead?