Intermediate #oop #design #vocabulary

Interface vs Abstract Class in OOP English

"Interface" and "abstract class" are two of the most commonly misused OOP terms by non-native English speakers. The vocabulary around them — implements, extends, abstract method, is-a, can-do — has precise meaning in technical discussion.

The core distinction to memorise
  • Interface = a contract / capability ("can-do"). A class implements an interface. Naming: often ends in -able (Serializable, Comparable, Runnable)
  • Abstract class = a shared base with partial implementation ("is-a"). A class extends an abstract class.
  • implements → interface. extends → class (abstract or concrete).
  • Abstract method = signature only, no body. Concrete method = has a body.
  • Cannot instantiate an abstract class directly — it must be subclassed.
0 / 22 completed
1 / 22
A Java developer explains a design decision in a code review:

"I used an ___ here because multiple unrelated classes need to implement the same contract — Serializable, Comparable, and Printable. They share no common behaviour, just an obligation."

Which construct best fits this scenario?

Frequently Asked Questions

What does the "Interface vs Abstract Class — OOP Vocabulary Exercises | English for IT" exercise cover?

5 exercises on the precise English vocabulary for OOP design decisions: when to use an interface vs an abstract class, is-a vs can-do, implements vs extends, abstract vs concrete.

Is this exercise free to use?

Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall.

How many questions are in "Interface vs Abstract Class — OOP Vocabulary Exercises | English for IT"?

This exercise has 22 questions. Each one gives instant feedback with an explanation, so you can see exactly why an answer is right or wrong.