프로그래밍 언어/JAVA

자바 메소드 오버로딩이란(Method Overloading)

원원 2017. 11. 24. 15:04

자바 메소드오버로딩이란(Method Overloading)


메소드오버로딩은 매우 좋은 기능입니다. 사용하면 편리합니다.





사용자의 이름을 저장하는 함수를 아래처럼 정의 할 수 있습니다.

1
2
3
void inforName(String name){
    myName = name;
}
cs


사용자의 이름과 나이를 저장하는 함수를 아래처럼 정의 할 수 있습니다.

1
2
3
4
void inforNameAge(String name,String age){
    myName = name;
    myAge = age;
}
cs


이 두 함수들을 이름을 동일하게 하여 사용 할 수 있습니다.

1
2
3
4
5
6
7
8
void infor(String name){
    myName = name;
}
 
void infor(String name,int age){
    myName = name;
    myAge = age;
}
cs

이게 메소드 오버로딩입니다. 함수 명은 infor인데 매개변수에 따라 호출하는 것이 다릅니다.




*오버로딩을 사용하기 위해서는 반환형이 같아야 합니다. 

1
2
3
4
5
6
7
8
9
    String infor(String name){
        myName = name;
        return name;
    }
 
    void infor(String name,int age){
        myName = name;
        myAge = age;
    }
cs

반환형이 다르면 메소드오버로딩이 되지않습니다.


생성자도 오버로딩이 됩니다.