[Java] 오버로딩

반응형
반응형

이름은 같지만, 인자의 타입과 개수에 따라 구분. 리턴형이 다른 경우에도 동일한 이름을 가진 메서드를 오버로딩으로 정의할 수 있다. 오버로딩은 같은 이름을 가진 메서드나 함수를 여러 개 정의하고, 매개변수의 개수, 타입 또는 순서를 다르게하여 다양한 호출 방식을 지원하는 것을 의미한다.

public int printSum(int a, int b) {
    int sum = a + b;
    return sum;
}

public double printSum(double a, double b) {
    double sum = a + b;
    return sum;
}

오버라이딩과 달리, 상속의 개념과 독립개념이다. 즉, 상속관계에서 일어날 수도 있고, 클래스 내에서 발생할 수도 있다.  클래스 내에서 같은 이름의 메서드를 다른 시그니처로 정의하면 오버로딩이 성립한다. 이 경우에는 매개변수의 개수, 타입, 순서 중 하나라도 다르면 된다.

class Animal {
    public void makeSound() {
        System.out.println("Animal makes a sound");
    }
}

class Cat extends Animal {
    public void makeSound(String sound) {
        System.out.println(sound);
    }
}
반응형

'Language' 카테고리의 다른 글

[Java] 오버라이딩  (0) 2023.06.01
[JS] Array Destructuring  (0) 2023.05.25
[JS] function 블록  (0) 2023.05.23
[JS] 오브젝트, 인스턴스  (0) 2023.05.23
[JS] Javascript 스펙  (0) 2023.05.23

댓글

Designed by JB FACTORY

loading