Explain the concept of method overriding and provide an example.
Method overriding occurs when a subclass provides a specific implementation for a method that is already defined in its superclass. For instance:
class Animal {
void sound() {
System.out.println("Animal makes a sound");
}
}
class Dog extends Animal {
void sound() {
System.out.println("Dog barks");
}
}