Java_기초

Java_기초_Overloding

위한신 2024. 4. 29. 17:46

정수를 문자열로 바꾸기 위해서는 integer.parseInt(), 나 interger.valueOf를 사용해야 한다.

 

package chap_06;

public class _05_Overloding {
    public static int getPower(int number) { // "4"
        int result = number * number;
        return result;
    }

    public static int getPower(String strnumber) {
        int number = Integer.parseInt(strnumber);
        return number * number;
    }

    public static int getPower(int number, int exponent) {
        int result = 1;
        for (int i = 0; i < exponent; i++) {
            result *= number;
        }
        return result;
    }

    public static void main(String[] args) {
        // 메소드 오버로딩, 이름이 같은 메소드를 여러개 만드는 것.
        System.out.println(getPower(3)); // 3 * 3 = 9
        System.out.println(getPower("4")); // 4 * 4 = 16
        System.out.println(getPower(3, 3));
        // 똑같은 메소드를 같은 이름으로 사용하는 것을 메소드 오버로딩이라고 부른다. 
        // 1. 전달값의 타입이 다르거나, 
        // 2. 전달값의 개수가 다를때 가능하다.
    }
}

 

 

메소드 오버로딩을 사용하는 경우에는 전달값의 타입이 다르거나, (첫번째 메소드가 필요로 하는 것은 정수, 두 번째 메소드가 필요로 하는 것은 문자열속의 숫자이다.) 

메소드 전달값의 개수가 다른 경우에 가능하다. (첫 번째는 하나의 정수를 2승 하는 것이고, 세번째 문자열은 하나의 정수를 다른 정수의 값 만큼 승하는 것이니까 2개의 값이 필요하다.)