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