오버로딩(overloading)

4171 단어 JavaJava

🔷 오버로딩이란

🔸 한 클래스 내 같은 이름의 메서드를 여러개 정의하는 것
예) 연산자 '+' 오버로딩
- 부호(양수)
- 덧셈기호
- 문자열 결합

🔷 조건

🔸 메서드의 이름이 같아야 한다.
🔸 매개변수의 개수나 타입이 달라야 한다.

🔷 장점

🔸 오버로딩을 사용하지 않는 경우, 한 클래스 내 메서드들은 모든 다른 이름을 가져야 한다.
이 경우, 작성하는 입장에서도 이름을 번거로움도 생기고 사용하는 입장에서도 일일이 구분해서 사용을 해야하는 불편함이 있다.
🔸 오버로딩을 통해서 하나의 이름으로 정의한다면, 오류의 가능성을 줄일 수 있고 기능을 쉽게 예측할 수 있다. 메서드의 이름 또한 절약할 수 있다.

🔷 오버로딩의 예

add메서드의 매개변수의 타입과 개수를 바꿔서 여러개의 add()를 정의

class Math{
    int add(int a, int b){
        return a + b;
    }
    int add(int a, long b){
        return a + b;
    }
    int add(long a, int b){
        return a + b;
    }
    int add(long a, long b){
        return a + b;
    }
    int add(int[] a){
        int result = 0;
        for(int i = 0; i < a.length; i++){
            result = a[i];
        }
        return result;
    }

}

좋은 웹페이지 즐겨찾기