Possess different types of actors

So, another fairly simple question if you’re an experienced UE4 dev.

From what I understand, a PlayerController will bind axes and input, then call certain functions, like Move, on whatever actor it currently possesses. The place I’m getting confused is… what if ActorA is completely different from ActorB (say, for example, a ground unit vs an air unit)? When it receives the callback from the bound input, should the controller being doing casts before is calls a certain function on the actor is possess? Sudo…

if PossedActor == Type-ActorA
    Jump
else if PossedActor == Type-ActorB
    Eject

or should all of my actors just implement generically named functions like Button0, Button0, Trigger1, Trigger2???

Thanks all! I appreciate the help of this community, A LOT.

-Austin