java/코드 리뷰

7. oop2 - (2) CalculatorDemo (계산기 - 오버로딩(중복정의))

Astaroth아스 2020. 3. 24. 16:01
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
29
30
31
32
33
34
35
36
package oop2;
 
public class Calculator {
    
    int plus(int x, int y) {
        System.out.println("int + int의 합 계산");
        int result = x + y;
        return result;
    }
    
    int plus(int x, int y, int z) {
        System.out.println("int + int + int의 합 계산");
        int result = x + y + z;
        return result;
    }
    
    double plus(double x, double y) {
        System.out.println("double + double의 합 계산");
        double result = x + y;
        return result;
    }
    
    long plus(long x, long y) {
        System.out.println("long + long의 합 계산");
        long result = x + y;
        return result;
    }
    
    // 중복정의 규칙 위반
    // 매개변수 이름만 다를뿐 매개변수 타입, 갯수가 같기 때문에 오버로딩이 성립하지 않음
//    long plus(long a, long a) {
//        long result = x + y;
//        return result;
//    }
    
}

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package oop2;
 
public class CalculatorDemo {
    public static void main(String[] args) {
        
        Calculator calculator = new Calculator();
        
        calculator.plus(60);
        calculator.plus(623);
        calculator.plus(6.03.0);
        calculator.plus(6L, 3L);
        
    }
}