OverLoading 메소드 오버로딩이란?
이름이 같은 여러 메소드를 만드는 것이다
전달값이 다른(정수형,문자형) 각각 메소드를 이름을 다르게 구분하지 않고
같은 이름으로 메소드를 정의할 수 있는 것이다.
// 메소드 오버로딩 (똑같은 이름의 메소드를 여러번 중복 가능!!)
// 같은 이름의 메소드를 여러 번 선언하는 것을 말한
// 전달값의 타입이 다르거나
// 전달값의 갯수가 다르거나
// 그럼 메소드 오버로딩이 가능합니다.
// 반환형이 다른 형태로는 메소드 중복 불가임 (int != double)
메소드 안에 정수값이 아닌 문자열도 넣을 수 있다.
getPower (int number)가 아닌
getPowerStr (String number)값으로 파라미터를 정의해준다.
public static int getPowerStr(String strNumber){
int number = Integer.parseInt(strNumber); // 문자열을 정수로
return number * number;
Integer.parseInt를 문자열 값을 정수로 변환하는 기능을 써서
반환값 return number * number; 해주자.
메소드 호출해보자
System.out.println(getPowerStr("4")); // 4 * 4 = 16
16이 나온다.
자 진짜 메소드 오버로딩을 봐보자.
아까는 문자열 메소드가 getPowerStr였는데
메소드 오버로딩을 위해 getPower로 바꾸어보았다.
그래도 오류가 나지 않고 정상적으로 실행이 된다.
.
.
.
.
.
.
.
메소드를 하나 더 만들어서 실행해보자.
지수값을 연산하는 메소드 getPower를 만들었다.
public static int getPower(int number, int exponent) {
int result = 1;
for (int i = 0; i < exponent; i++) {
result *= number;
}
return result;
}
마찬가지로 출력해보면
27이 나온다.
'백엔드 > 나도코딩 자바' 카테고리의 다른 글
[나도코딩 자바 챕터6] 메소드의 범위? 지역변수 (0) | 2023.08.30 |
---|---|
[나도코딩 자바 챕터6] 메소드가 필요한 이유. 코드유지보수 (0) | 2023.08.30 |
[나도코딩 자바 챕터6] 전환,반환값 같이 써보자 getPower(int number) 메소드,전환값,반환값 (1) | 2023.08.30 |
[나도코딩 자바 챕터6] return 반환값, 메소드 호출시 반환해야 꺼내 쓸 수 있어요! (0) | 2023.08.29 |
[나도코딩 자바 챕터6] 전달값 매개변수 parameter (1) | 2023.08.29 |