| Abstract Base Class | Interface |
|---|---|
| Can contain both abstract and concrete methods. | Can only contain method signatures. |
| Can have fields, properties, and constructors. | Cannot have fields or constructors. |
| A class can inherit from only one abstract class (single inheritance). | A class can implement multiple interfaces (multiple inheritance). |
| Members can have access modifiers (public, protected, private, etc.). | All members are implicitly public and cannot have access modifiers. |