> Java > java지도 시간 > Java의 함수 오버로딩

Java의 함수 오버로딩

WBOY
풀어 주다: 2024-08-30 15:44:18
원래의
935명이 탐색했습니다.

Java에서 함수 오버로딩은 이름은 같지만 전달된 매개변수의 개수가 다를 때 발생합니다. 이는 int, double, float와 같은 데이터에서 다를 수 있으며 서로 다른 값을 반환하는 데 사용되며 각각의 오버로드된 내부에서 계산됩니다. 방법. 함수 오버로딩은 분리된 더 많은 함수를 포함하고 개별 기능과 관련하여 서로 구별하는 데 사용할 수 있어 복잡성을 줄이고 프로그램의 효율성을 높이는 데 사용됩니다. 오버로드된 함수는 컴파일 타임 또는 정적 다형성과 관련이 있습니다. 변수에서 유형의 변환을 계산하는 데 사용되는 오버로드 함수에 기본적으로 사용되는 유형 변환이라는 개념도 있습니다.

구문

광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사

오버로드된 함수는 이름은 동일하지만 할당된 인수 또는 매개변수 유형이 다릅니다. 메소드에 할당된 변수 수 내에서 수학적 또는 논리적 연산을 계산하는 데 사용할 수 있습니다. 오버로드된 함수의 구문은 아래에 나와 있으며 최대 N개의 변수가 할당됩니다.

public class OverloadedMethod
{
public int FunctionName(int x, int y) //Two parameters in the function
{
return (x + y); //Returns the sum of the two numbers
}
// This function takes three integer parameters
public int FunctionName(int x, int y, int z)
{
return (x + y + z);
}
// This function takes two double parameters
public double FunctionName(double x, double y)
{
return (x + y);
}//Many more such methods can be done with different number of parameters
// Code used to input the number and
public static void main(String args[])
{
FunctionName s = new FunctionName();
System.out.println(s.FunctionName(10, 20));
System.out.println(s. FunctionName(10, 20, 30));
System.out.println(s. FunctionName(10.5, 20.5));
}
}
로그인 후 복사

함수 오버로딩 작업

함수 오버로드는 이름은 같지만 전달되는 인수 개수가 다른 여러 함수를 호출하여 작동합니다. 함수 오버로딩의 장점과 단점을 올바르게 식별하기 위해 표시할 수 있는 코딩 예제가 많이 있습니다.

함수 오버로딩의 장점

함수 오버로딩은 같은 이름으로 작동합니다. 따라서 각 함수 내에서 수행되는 작업과 동일한 작업을 수행하는 메서드를 만들 필요가 없습니다. 이 기능은 이름 충돌 문제를 해결할 뿐만 아니라 프로그램의 가독성도 향상시킵니다.

함수 오버로딩의 예

아래 예시는 아래와 같습니다.

예시 #1

코딩 예제 1에서는 오버로드된 main()을 볼 수 있습니다. 이는 패널에 다양한 출력을 표시하고 오버로드된 main()이 프로그래밍 언어에서 사용되는 방식과 다양한 함수 호출이 어떻게 다른 출력을 생성하는지 보여줍니다. , 각각.

코드:

//Java program with overloaded main()
import java.io.*;
public class Test
{
// First main method which is created
public static void main(String[] args)
{
System.out.println("Main function called");
Test.main("Everyone");
}
// First overloaded main method
public static void main(String ar1)
{
System.out.println("Hi, " + ar1);
Test.main("Hello Everyone", "Buenos dias");
}
//Second overloaded main method
public static void main(String ar1, String ar2)
{
System.out.println("Mi todo eres tu, " + ar1 + ", " + ar2);
}
}
로그인 후 복사

main()이 호출되면 아래와 같이 출력 패널에 크게 표시되는 출력이 있습니다. 먼저 main()의 print 문이 호출되어 인쇄됩니다. 그런 다음 인수 수를 구별하여 프로그램은 코드 조각에 존재하는 두 개의 오버로드된 함수를 분리합니다. main()은 첫 번째 오버로드된 함수를 호출하고, 첫 번째 오버로드된 함수는 두 번째 오버로드된 함수를 호출합니다.

출력:

Java의 함수 오버로딩

예시 #2

두 번째 코딩 예에서는 곱셈을 수행하지만 할당된 인수 수가 다른 함수를 살펴보겠습니다. 이는 사람들이 다양한 인수를 처리하기 위한 다양한 기능을 개발하는 데 도움이 될 것입니다.

코드:

class Adder
{
static int multiply(int a,int b)
{
return a*b;
}
static int multiply(int a,int b,int c)
{
return a*b*c;}
}
class TestOverloading1
{
public static void main(String[] args)
{
System.out.println(Adder.multiply(110,110));
System.out.println(Adder.multiply(110,110,110));
}
}
로그인 후 복사

출력:

Java의 함수 오버로딩

예시 #3

이 코딩 예제에서는 이름과 인수 개수가 같지만 차이점이 되는 기능이 하나 있는 함수를 살펴보겠습니다. 존재하는 기능의 차이는 함수에 존재하는 데이터 유형이며, 하나는 정수이고 다른 하나는 double입니다.

코드:

//Program to add numbers distinguishing on the datatype of parameters
class Number
{
static int add(int a, int b)//Both integer variables
{
return a+b;//Returning the sum
}
static double add(double a, double b)//Both double variables
{
return a+b;//Returning the sum
}
}
class TestOverloading2
{
public static void main(String[] args)
{
System.out.println(Number.add(1,110));
System.out.println(Number.add(12.4,18.8));
}
}
로그인 후 복사

위 프로그램에서는 두 정수 값의 합을 계산할 때 두 정수 값을 입력합니다. 입력한 숫자는 10과 20입니다. 출력에서는 값 30을 제공해야 합계가 그대로 인쇄됩니다. 또한 두 개의 double 값을 입력하면 합계가 인쇄되는데, 이는 두 번째 오버로드된 함수입니다. double 데이터형 변수의 값을 15.5와 16.3으로 입력하면 최종적으로 합인 31.8이라는 결과를 보게 됩니다. 아래 화면에서 프로그램의 출력 패널을 볼 수 있습니다.

출력:

Java의 함수 오버로딩

결론

이 글에서는 이름은 같지만 인수 개수나 데이터 유형이 다른 오버로드 함수의 다양한 기능과 개념을 살펴봅니다. 또한 오버로드된 함수를 어떻게 수행해야 하는지에 대한 이점과 구문도 확인했습니다. 이 글에서 오버로드된 함수는 주로 곱셈과 덧셈에 사용되며, 이는 전체 프로그래밍 개념에 대해 많은 세부 사항을 제공합니다.

위 내용은 Java의 함수 오버로딩의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿