Ch6-30_오버로딩(overloading)

한 클래스 안에 같은 이름의 메서드 여러 개 정의하는 것

 

오버로딩이 성립하기 위한 조건

1. 메서드 이름이 같아야 한다.

2. 매개변수의 개수 또는 타입이 달라야 한다.

3. 반환 타임은 영향없다.

 

보기1 : 오버로딩 X

int add(int a, int b) { return a+b;}
int add(int x, int y) { return x+y;}

 

보기2 : 오버로딩 X

int add(int a, int b) {return a+b;}
long add(int a, int b) {return (long)(a+b);}

 

보기3 : 오버로딩 O

long add(int a, long b) {return a+b;}
long add(long a, int b) {return a+b;}

 

 

Ch6-31_오버로딩(overloading) - 예제

오버로딩의 올바은 예 - 매개변수는 다르지만 같은 의미의 기능수행

class MyMath3 {
	int add(int a, int b) {
    	System.out.print("int add(int a, int b) - ");
        return a+b;
 	}
    
    long add(long a, long b) {
    	System.out.print("long add(long a, long b) - ");
        return a+b;
    }
    
    int add(int[] a) {
    	System.out.print("int add(int[] a) - ");
        int result = 0;
        for(int i=0; i<a.length; i++)
        	result += a[i];
        return result;
    }
}

'JAVA > Chapter6' 카테고리의 다른 글

Ch6-36_생성자 this()  (0) 2022.02.13
Ch6-32_생성자(constructor)  (0) 2022.02.13
Ch6-26_static 메서드와 인스턴스 메서드  (0) 2022.02.13
Ch6-24_참조형 매개변수  (0) 2022.02.13
Ch6-22_호출스택(call stack)  (0) 2022.02.12
복사했습니다!