[Java] - 메소드 오버로딩

 클래스 내 같은 이름의 메소드를 매개변수 유형과 개수를 다르게하여 같은 이름의 메소드를 여러개 선언하는 것을 

메소드 오버로딩(Method Overloading)이라 한다.

 

메소드 오버로딩이 필요한 이유는 매개값을 다양하게 받아 처리할 수 있도록 하기 위함이다.

 

주의점 : 1. 매개변수의 이름이 다르다고 해서 메소드 오버로딩이라 하는 것이 아니라

              매개변수의 개수나 매개변수 타입 또는 순서가 달라야 메소드 오버로딩이라 할 수 있다.

 

           2. 리턴 타입만 다르고 매개 변수가 동일하면 이것 또한 메소드 오보로딩이라 할 수 없다.

 

메소드 오버로딩의 가장 대표적인 예 : System.out.println() 메소드

println() 메소드는 호출할 때 주어진 매개 값의 타입에 따라서 다음과 같이 오버로딩된 println() 메소드 중 하나를 호출

 

 

1
2
3
4
5
6
7
8
9
10
11
        void println() {}
        void println(double x) {}
        void println(boolean x) {}
        void println(char x) {}
        void println(char [] x) {}
        void println(float x) {}
        void println(int x) {}
        void println(long x) {}
        void println(Object x) {}
        void println(String x) {}
 
cs