A subclass is a derived class in object-oriented programming that inherits properties and behaviors from a parent class, allowing for code reuse and extension. It can override or extend functionalities of the parent class while maintaining a hierarchical relationship, enabling polymorphism and encapsulation.