So I just found this code example online a while ago and I\'m going over it again but quite confused.
From looking at it, what I gather (and it might be wrong) is t
You need a Printer object for the print function of NumberPrinter. When you call that function you don't actually instantiate the Printer interface but you instantiate an implementation of it and this is why it's working.
Your assumption was correct by the way.