Final answer:
The process described is known as dynamic binding, where the actual method call is determined at runtime, not by the compiler. It's used for implementing polymorphism in object-oriented programming.
Step-by-step explanation:
When the actual method that will be called is not determined by the compiler, and the run-time environment determines how this method will be executed, the correct answer is D. Dynamic binding. Dynamic binding, also known as late binding, occurs when the method to be called is determined at runtime. This is in contrast to early or static binding, where the method is bound to its call during compile time, and the compiler knows exactly which method to call.
Dynamic binding allows for greater flexibility in programming, such as in the case of polymorphism in object-oriented programming. This flexibility enables different classes to define methods that share the same name but have different implementations, with the specific method called depending on the object's runtime type.