One of the fundamental components of the Drupal system is the core module. The core modules are basically the elements that are work behind the successful execution of the system. These core modules are interacting with the other modules of the Drupal core using the Drupal hooks.
The Drupal module system is anchored on the idea of hooks. Hooks allow these modules to bridge interaction with the Drupal core modules. A hook or a group of hooks are functions of the PHP language which are referenced as the foo_bar function. The function name foo is referencing to the module’s name and he bar function name references the name of the hook. These sets of hooks have clearly defined parameters which comprise of a specified type f result.
A drupal module needs a hook so that it can be implemented and executed. When the Drupal system wants to permit any intervention from the specific kind of modules, what Drupal does is it practically determines the type of module that tries to implement the hook and from there it calls and commands this hook that is enabled on all core modules that have the intervention to implement and execute it.
The Drupal system has about a hundred sets of hooks stored on its engine. Every hook has its specified and designated function to perform and implement. And every module of the Drupal is responsible in implementing the function that is being called. The whole process may seem very alien when tried being deciphered, however, the whole process is never complicated when done inside the system.