자바(JAVA) 기초 함께 알아보자

자바(JAVA) 기초 함께 알아보자(23) - 함수 오버로딩(Method Overloading)

jay_the_code 2025. 1. 16. 16:21

지난번 열거형(Enumeration)에 이어서
이번글에서는 함수 오버로딩(Method Overloading)
대해서 알아보겠습니다.

함수 오버로딩(Method Overloading)

 

함수 오버로딩은 함수명은 같지만
매개변수의 타입 또는 개수가 다른 함수들을 말합니다.

먼저 예시를 보고 더 자세히 살펴보겠습니다.

class Calculator{
	int add(int a, int b){
    	return a + b;
    }
    
    int add(int a, int b, int c){
    	return a + b + c;
    }
    
    double add(double a, double b){
    	return a + b;
    }
    
    double add(double a, double b, double c){
    	return a + b + c;
    }
}

 

위에서 보는 것과 같이 함수명은 같지만
매개변수의 구성이 다른 함수들을

작성하는 것을 함수 오버로딩이라고 합니다.

 

위와 같이 두 함수의 함수명이 같다면

매개변수명이 다를지라도 같은 매개변수 타입 그리고

매개변수 개수를 가진다면 자바에서는

함수가 중복되었다고 인식합니다.

 

 

 

반환값이 int 와 double로 다를지라도

함수명이 같고 매개변수 구성이 같다면

자바에서는 같은 함수로 인식합니다.

 

따라서 함수 오버로딩을 할 경우에는

같은 매개변수 구성을 사용하지 않도록

주의해야 합니다.

 

함수 오버로딩은 위 계산기 예시와 같이

같은 행위를 수행하지만 매개변수들을

다르게 해야 할 때 유용하게 사용됩니다.

 

그럼 지금까지 함수 오버로딩(Method Overloading)

대해서 알아보았습니다.

 

다음 글에서는 다형성(Polymorphism)에 대해서

알아보겠습니다.