Serial is an instance of the HardwareSerial class. It is defined in HardwareSerial0.cpp:
#if defined(UBRRH) && defined(UBRRL)
HardwareSerial Serial(&UBRRH, &UBRRL, &UCSRA, &UCSRB, &UCSRC, &UDR);
#else
HardwareSerial Serial(&UBRR0H, &UBRR0L, &UCSR0A, &UCSR0B, &UCSR0C, &UDR0);
#endif
HardwareSerial is a child of Stream as defined in HardwareSerial.h:
class HardwareSerial : public Stream
{
....
};
Stream is a child of Print as defined in Stream.h:
class Stream : public Print
{
....
};
Print is a top-level class with no inheritance.
Serial is not a class. It is an instance of a class. That is, it's an object that has been constructed from the class definition. Anything you access member functions of using a . is an instance of a class (aka an object) not a class itself. Anything you access member functions with :: is a class using static member functions.
Examples:
Serial.println(); // Call the println() function in the Serial object
Wire.beginTransmission(0x34); // Call the beginTransmission function in the Wire object
Foo::bar(); // Call the static function bar() in the Foo class.