Think of "have dinner" like a two word verb. I'm pretty sure korean has similar verbs, where another word combines with "hada" to form a verb. For example: sarang hada. In this case "have" is comparable to hada.
I'm pretty sure this isn't the technical way to explain it, but it might help.