메서드 오버로딩 method overloading
(메서드 오버라이딩 / 생성자 오버로딩과 혼동하지 말자)
자바에서 메서드 오버로딩 overloading은 같은 이름의 메서드를 여러개 만들어 사용하게 되는것을 말한다. 이름은 동일하지만 매개변수의 타입(자료형), 개수 등으로 차이를 두어 선언하는 것을 말한다.
public static int add(int a, int b) {
int sum = a + b;
return sum;
}
public static int add(int a, int b, int c) {
int sum = a + b + c;
return sum;
}
위에서와 같이 매서드의 이름은 add 로 같지만 매개변수의 갯수가 다르기 때문에 에러가 발생하지 않는다.
public static int add(int a, int b) {
int sum = a + b;
return sum;
}
public static double add(int a, double b) {
double sum = a + b;
return sum;
}
이번에는 두 개의 add 매서드가 모두 인수는 2개를 받고 있지만 두 개의 자료형이 다르다.
따라서 인수의 갯수와 자료형 이 두 가지로 매서드 오버로딩을 할 수 있다.
매서드 오버로딩은 자바에서 매우 많이 사용되는 기능이고 코드의 가독성과 유지보수를 쉽게 도와준다.
간단한 메서드 오버라이딩 소개
단어가 비슷해서 매서드 오버로딩과 매서드 오버라이딩을 혼동하는 경우가 많다. 특히 매서드 오버라이딩은 상속에 대해 공부를 하고 나야 이해를 할 수 있다. 하지만 간단히 차이만 보고 상속을 공부한 후에 다시 자세히 살펴 보자.
매서드 오버라이딩은 객체 지향 프로그래밍에서 사용되는 가장 중요한 개념 중의 하나이다.
부모 클래스에 이미 정의 되어 있는 매서드를 자식 클래스가 가진 동일한 이름의 매서드로 다시 정의 하는 것을 말한다.
입력된 값이 문자 인지 정수인지 실수 인지 확인