Final answer:
An abstract class is a superclass representing an abstract concept, which is not meant to be instantiated, serving as a base class for other classes to inherit from.
Step-by-step explanation:
The answer to the student's question is a) Abstract class. A superclass that represents an abstract concept and should not be instantiated is called an abstract class. In object-oriented programming, an abstract class is a class that cannot be instantiated on its own and is designed to be a base class for other classes. It typically includes abstract methods that do not have an implementation and must be overridden by subclasses. The purpose of abstract classes is to provide a common definition of a base class that multiple derived classes can share. Unlike concrete classes, which have a full implementation and can be instantiated, or interfaces, which declare methods without any implementation, abstract classes are a conceptual blueprint for creating subclasses.