There are various types of wait in selenium.
Have a look on the types of wait in selenium and how to use them.
https://www.edureka.co/community/33533/how-to-use-wait-in-selenium-java
Taking about Implicit wait, When a webpage is loading, some web-elements take a longer time to load completely. Web driver cannot handle this situation on its own and throws an error if it is unable to find the element.
This is where we use Implicit Wait.
Implicit wait is defined once and remains same throughout the driver object instance.
Syntax to use Implict wait.
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS)
The default wait for implict wait is 0 seconds.
Hope this definition was helpful and gave you a clear explanation on what is Implicit wait and how to use it.