* 테이블에 데이터 없이 아무것도 할 수 없듯이, 클래스의 객체를 이용해서 작업을 진행해야 한다.
자바에서는 변수에 데이터 타입을 항상 지정해 줘야 하기 때문에
같은 a + b라도 데이터 타입에 따라 다른 식이 만들어져야 한다.
아래와 같이 Add 클래스 안에 다양한 식을 만들어 넣고,
AddTest 클래스 안에서 Add 클래스의 method들을 호출할 때,
각각 다른 이름으로 부르게 된다.
Add.java
public class Add {
int add(int a, int b){
int result = a + b;
return result;
}
double addDouble(double a, double b){
double result = a + b;
return result;
}
double addIntDouble(int a, double b){
double result = a + b;
return result;
}
String addString(String a, String b){
String result = a +" "+ b;
return result;
}
int add3(int a, int b, int c){
int result = a + b + c;
return result;
}
}
AddTest.java
public class AddTest {
public static void main(String[] args) {
// 2, 3 두 수를 주면, 이 두 수를 더한 결과를 리턴해주는 함수 필요함.
Add a = new Add();
System.out.println(a.add(2, 3)); // 함수를 만들 때는 호출 부분을 먼저 생각해야 한다.
// 2.3, 3.541 이 두 수를 더한 결과를 받아오고 싶다.
System.out.println(a.addDouble(2.3, 3.541));
// 3, 1.56 이 두수를 더한 결과
System.out.println(a.addIntDouble(3, 1.56));
// "hello", "bye" 두 문자열 주면 "hello bye"로 붙여주는 함수가 필요.
System.out.println(a.addString("hello", "bye"));
// 세 개의 수를 주면 세 개의 수를 합산한 결과를 리턴해 주는 함수
System.out.println(a.add3(2, 3, 5));
}
}
여기에서
클래스 메소드를 사용하는 사람이
더욱 편하고 빠르고 직관적으로 사용할 수 있도록
자바에서 오버로딩 방식이 가능하도록 해 주었다.
매개 변수의 갯수나 타입이 다르다면 같은 이름의 메소드로 저장하여 사용하는 것이 가능하다.
Overloading
Add.java
public class Add {
int add(int a, int b){
int result = a + b;
return result;
}
double add(double a, double b){
double result = a + b;
return result;
}
double add(int a, double b){
double result = a + b;
return result;
}
String add(String a, String b){
String result = a +" "+ b;
return result;
}
int add(int a, int b, int c){
int result = a + b + c;
return result;
}
}
AddTest.java
public class AddTest {
public static void main(String[] args) {
// 2, 3 두 수를 주면, 이 두 수를 더한 결과를 리턴해주는 함수 필요함.
Add a = new Add();
System.out.println(a.add(2, 3)); // 함수를 만들 때는 호출 부분을 먼저 생각해야 한다.
// 2.3, 3.541 이 두 수를 더한 결과를 받아오고 싶다.
System.out.println(a.add(2.3, 3.541));
// 3, 1.56 이 두수를 더한 결과
System.out.println(a.add(3, 1.56));
// "hello", "bye" 두 문자열 주면 "hello bye"로 붙여주는 함수가 필요.
System.out.println(a.add("hello", "bye"));
// 세 개의 수를 주면 세 개의 수를 합산한 결과를 리턴해 주는 함수
System.out.println(a.add(2, 3, 5));
}
}
위와 같이 Add 클래스에서 add 라는 하나의 이름으로
다양하게 정의한 모든 데이터 타입 연산 메소드 사용이 가능하다.
두 개의 요소들을 더해야 할 때 편리하게 add 메소드를 호출하여 사용한다.
변수 갯수도 다양하게 설정할 수 있다.
Method Overloading And Overriding In Java | Board Infinity