>  기사  >  Java  >  메소드 오버로딩이란 무엇입니까?

메소드 오버로딩이란 무엇입니까?

青灯夜游
青灯夜游원래의
2020-07-18 13:32:095982검색

메서드 오버로드는 클래스에서 동일한 이름을 가진 여러 메서드를 정의하는 것을 의미하지만 각 메서드에는 서로 다른 매개변수 유형이나 매개변수 개수가 필요합니다. 메서드 오버로드는 일반 메서드나 생성자 메서드에서 발생할 수 있습니다. 메서드 오버로드는 동일한 클래스나 부모 및 자식 클래스에서 발생할 수 있습니다.

메소드 오버로딩이란 무엇입니까?

메서드 오버로드는 반복되는 메소드 이름과 다른 로딩 매개변수를 의미합니다.

Java 클래스에는 동일한 이름을 가진 여러 개의 메소드가 정의되어 있습니다. 메소드 이름은 동일하지만 매개변수 유형 및 개수를 포함하여 메소드 매개변수가 다른 경우 이를 메소드 오버로딩이라고 합니다. 오버로드된 메소드가 호출되면 Java 컴파일러는 호출된 메소드의 매개변수 유형과 개수를 확인하여 적절한 메소드를 선택합니다. 메서드 오버로드는 유사한 작업 집합을 수행하지만 매개 변수 유형, 매개 변수 수 또는 매개 변수 순서가 다른 메서드를 만드는 데 자주 사용됩니다.

메서드 오버로드는 일반 메서드나 생성자에서 발생할 수 있습니다. 메서드 오버로드는 동일한 클래스나 부모 및 자식 클래스에서 발생할 수 있습니다.

Java 메서드의 오버로딩: 반환 유형과 수정자는 동일할 수도 있고 다를 수도 있습니다. 동일한 이름을 가진 메소드는 서로 다른 매개변수 목록을 가져야 합니다. 서로 다른 반환 유형만으로는 오버로드된 두 메소드를 구별할 수 없습니다.

특정 사양

1. 메소드 이름은 동일해야 합니다.

2. 서로 다른 메소드 본문을 구별하려면 메소드의 매개변수 목록이 달라야 합니다(매개변수 유형 또는 개수 포함).

1) 매개변수 개수가 다를 경우 매개변수 유형은 무시됩니다!

2) 매개변수 개수가 동일할 경우 매개변수 유형이 달라야 합니다.

3. 메서드의 반환 유형과 수정자는 동일할 수도 있고 다를 수도 있습니다.

예:

질문 요구사항: 두 데이터를 비교하여 동일한지 확인하세요.

매개변수 유형은 byte 유형 2개, short 유형 2개, int 유형 2개, long 유형 2개입니다.

그리고 메인 메소드에서 테스트하세요

public class CaiNiao{
    
    public static void main(String[] args){
        byte a = 10;
        byte b = 20;
        System.out.println(isSame(a,b));
        
        System.out.println((isSame(short)20,(short)20));
        
        System.out.println(isSame(11,22));
        
        System.out.println(isSame(10L,10L));
    }
    
    public static boolean isSame(byte a,byte b){
        System.out.println("两byte参数的方法执行!");
        boolean same ;
        if(a==b){
            same = true;
        }else{
            same = false;
        }
        return same;
    }

    public static boolean isSame(short a,short b){
        System.out.println("两short参数的方法执行!");
        boolean same = a == b ?true:false;
        return same;
    }
    
    public static boolean isSame(int a,int b){
        System.out.println("两int参数的方法执行!");
        return a == b:;
    }
    
    public static boolean isSame(long a,long b){
        System.out.println("两long参数的方法执行!");
        if (a==b){
            return true;
        }
        else{
            return false;
        }
    }
}

Java 메소드 오버로드를 사용하려면 동일한 이름을 가진 메소드가 서로 다른 매개변수 목록을 가져야 합니다. 서로 다른 반환 유형만으로는 오버로드된 두 메소드를 구별할 수 없습니다.

추천 튜토리얼: Java 튜토리얼

위 내용은 메소드 오버로딩이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.