Sobes.tech
Junior — Middle

Hoe onderscheid je method overloaden van overschrijven in objectgeoriënteerd programmeren?

sobes.tech AI

Antwoord van AI

Method overloading (overloading) en method overriding (overriding) zijn verschillende concepten in objectgeoriënteerd programmeren:

  • Method overloading: het hebben van meerdere methoden met dezelfde naam in één klasse, maar met verschillende parameters (type, aantal). Dit maakt het mogelijk om de methode met verschillende argumenten aan te roepen.

  • Method overriding: wanneer een subclass een eigen implementatie biedt van een methode die al is gedefinieerd in de basisklasse met dezelfde handtekening (naam en parameters). Dit maakt het mogelijk om het gedrag van de methode voor de subclass te wijzigen.

Voorbeeld in Java:

class Animal {
    void sound() {
        System.out.println("Enkele geluid");
    }

    void sound(String mood) { // overloading
        System.out.println("Geluid wanneer " + mood);
    }
}

class Dog extends Animal {
    @Override
    void sound() { // overriding
        System.out.println("Blaffen");
    }
}

Hier overschrijft sound() in de klasse Dog de methode van de basisklasse, en sound(String mood) is een overloading van de methode in dezelfde klasse Animal.