2022.11.15 JAVA 14일차 오버로딩
2022. 11. 22. 08:50ㆍJAVA
오버로딩(overloading)
한 클래스 내에 같은 이름의 메소드를 여러개 정의
-메서드 이름이 같아야 함
-매개변수의 개수 또는 타입이 다르게 구현
반환타입은 오버로딩을 구현하는데 아무런 영향을 주지 못함
예 : System.out.println 메서드
매개변수로 지정하는 값의 타입에 따라 호출되는 pintln메서드가 다름
void println()
void println(boolean x)
void println(char x)
void println(char[] x)
void println(double x)
void println(String x)
.
.
.
예제1)
class MyMath2
{
int add(int a, int b)
{
System.out.println("1");
return a+b;
}
int add(int a, double b)
{
System.out.println("2");
return a+(int)b;
}
int add (double a , int b)
{
System.out.println("3");
return (int)a + b;
}
double add (double a, double b)
{
System.out.println("4");
return a+b;
}
int add(int[] a)
{
int i,sum =0;
System.out.println("5");
for(i = 0; i < a.length; i++)
{
sum += a[i];
}
return sum;
}
}
public class MySample1115_5 {
public static void main(String[] args) {
/*
* 메서드 오버로딩
* 출력예)
* 1
* 13 (5,8)
* 2
* 12 (5,7.1)
* 3
* 12 (7.1,5)
* 4
* 12.3 (7.1,5.2)
* 5
* 210
*/
MyMath2 ma = new MyMath2();
int a[] = new int[] {10,20,30,40,50,60};
System.out.println( "main " +ma.add(5,8));
System.out.println("main : " +ma.add(5,7.1));
System.out.println("main : " +ma.add(7.1,5));
System.out.println("main : " +ma.add(7.1,5.2));
System.out.println("main : " +ma.add(a));
}
}
출력

예제2)
class Computer
{
void show(int a)
{
System.out.println("컴퓨터 가격은 : " + a + " 원 입니다.");
}
void show(String a)
{
System.out.println("제품은 : " + a + " 입니다.");
}
void show(int a , String b)
{
System.out.println("구매한 제품은 : " + b + " 이며, " + a + " 원 입니다.");
}
}
public class MySample1115_6 {
public static void main(String[] args) {
/*
* 매서드 오버로딩
*
* 메서드명 show
* 실행결과)
* 컴퓨터 가격은 : 10000원 입니다.
*
* 제품은 : 컴퓨터 입니다.
*
* 구매한 제품은 : 컴퓨터 이며, 10000원 입니다.
*/
Computer com = new Computer();
int money = 10000;
String item = "컴퓨터";
com.show(money);
com.show(item);
com.show(money, item);
}
}
출력

'JAVA' 카테고리의 다른 글
| 2022.11.16 JAVA 15일차 생성자 (0) | 2022.11.22 |
|---|---|
| JAVA 응용문제 이중배열 정렬 (0) | 2022.11.22 |
| 2022.11.14 JAVA 13일차 객체지향언어 (0) | 2022.11.22 |
| 2022.11.11 JAVA 12일차 클래스와 객체 (0) | 2022.11.21 |
| 2022.11.10 JAVA 11일차 String클래스, 이중배열 (0) | 2022.11.21 |