Not being an actual programmer: what does "new" do?
Dynamically allocates memory, to hold an instance of a class, and instantiates the class in that memory location, returning a pointer to it.
What PaulS implied but didn't state outright is that a side-effect of "new" is that the constructor of the class is called, plus the constructors of any members of the class. This makes an important difference between doing "new" and "malloc" as "malloc" does not call constructors.
Seems like ovekill for a 1-byte variable, no?
Indeed, but for larger variables you can
save memory. Just as an example, if on the Mega2560 you wanted Serial1 but not Serial2 or Serial3, well the HardwareSerial library gives you all of them. Now if instead they let you do a "new" to create Serial1 if, and only if, you needed it, then the memory that it takes (eg. the buffers) are saved for perhaps more important uses ... that is, the memory is saved if you don't need it and don't call "new" on it.