Method overloading in Java

project/
├── DataArtist.java
└── Main.java

DataArtist.java

public class DataArtist {

    // Same method name, different parameter type
    public void draw(String s) {
        System.out.println("Drawing a String: " + s);
    }

    public void draw(int i) {
        System.out.println("Drawing an integer: " + i);
    }

    public void draw(double f) {
        System.out.println("Drawing a double: " + f);
    }

    // Same method name, different number of parameters
    public void draw(int i, double f) {
        System.out.println("Drawing int: " + i + " and double: " + f);
    }
}

Main.java

public class Main {

    public static void main(String[] args) {

        DataArtist artist = new DataArtist();

        artist.draw("Hello");
        artist.draw(10);
        artist.draw(5.5);
        artist.draw(10, 5.5);
    }
}

Output

Drawing a String: Hello
Drawing an integer: 10
Drawing a double: 5.5
Drawing int: 10 and double: 5.5