개발

13. Java Method 의 OverLoading 본문

Backend/Java

13. Java Method 의 OverLoading

Study 2021. 7. 18. 16:21

안녕하세요!!

메소드의 오버로딩에 관해 포스팅 해보겠습니다.

 

개인적으로 처음 배울 때 왜 필요한지 제일 의문이었었던 기능중에 하나인데요 (이젠 절대 그렇게 생각하지 않지만요 ㅎㅎ) 

포스팅 해보겠습니다.

 

오버로딩은 들어오는 파라미터의 타입 또는 갯수가 다르면 같은이름으로 메서드를 정의할 수 있도록 하는 매커니즘 입니다. 파라미터의 순서만 달라져도 오버로딩이 가능합니다.

이런 규칙을 메소드의 시그니처라고 부흡니다 

 

// 반환형식은 시그니처에 포함되어 있지않습니다

같은 메서드로 인식하여 빨간줄이 생기는것을 볼 수 있습니다.

 

아래 예제는 기본적인 매커니즘을 알수 있는 예제입니다, 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class MethodOverloading {
    static int Plus(int a, int b) {
        System.out.println("Calling int Plus(int,int)...");
        return a + b;
    }
 
    static int Plus(int a, int b, int c) {
        System.out.println("Calling int Plus(int,int,int)...");
        return a + b + c;
    }
 
    static double Plus(double a, double b) {
        System.out.println("Calling double Plus(double,double)...");
        return a + b;
    }
 
    static double Plus(int a, double b) {
        System.out.println("Calling double Plus(int, double)...");
        return a + b;
    }
 
    public static void main(String[] args) {
        System.out.println(Plus(12));
        System.out.println(Plus(123));
        System.out.println(Plus(1.02.4));
        System.out.println(Plus(12.4));
    }
}
cs

'Backend > Java' 카테고리의 다른 글

14. Java의 Class  (0) 2021.07.18
12. Java Method의 Signature  (0) 2021.07.18
11. 흐름 제어 반복문  (0) 2021.07.18
10. 흐름 제어 점프문  (0) 2021.07.18
9. 흐름 제어 선택문  (0) 2021.07.17