Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바 for문
- 항해99
- react ag grid
- MySQL
- 자바 공배수
- 자바 자동캐스팅
- Vue3
- 자바 if문
- 자바 while문
- 자바 public
- 자바 강제 캐스팅
- TypeScript
- 자바 반복문
- 자바 구구단 출력
- 자바 향상된 for문
- 정보처리기사실기
- 변수
- Til
- 조코딩
- 타입스크립트
- java
- 자바 조건문
- 자바 switch문
- react with typescript
- 프로그래머스
- 자바 스캐너
- 항해99 2기
- 자바
- 이클립스 DB연동
- 자바 삼항연산자
Archives
- Today
- Total
뇌 채우기 공간
[자바JAVA] 메서드 오버로딩 overloading 본문
이 게시물에는 아래의 내용이 포함되어있습니다.
1. 메서드 오버로딩
2. 오버로딩의 예
3. 오버로딩의 장점
4. 예제
1. 메서드 오버로딩
하나의 클래스에 같은 이름을 가진 메서드를 여러개 정의하는 것
메서드의 이름이 같고 매개변수의 개수와 타입이 다르다.
리턴타입이 다른 것은 오버로딩 성립안된다.
2. 오버로딩의 예
System.out.println메서드
같은 이름의 메서드에 매개변수타입이 다릅니다.
3. 오버로딩의 장점
하나의 이름의 메서드로 여러가지 기능을 구현할 수 있다.
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 sec01_exam_overloading;
public class Overloading {
//add()오버로딩을 하고 있음. new의 개념
public int add(int a, int b) {
System.out.print("int add(int a , int b) -");
return a + b;
}
public long add(int a, long b) {
System.out.print("int add(int a , long b) -");
return a + b;
}
public long add(long a, int b) {
System.out.print("int add(long a , int b) -");
return a + b;
}
public long add(long a, long b) {
System.out.print("int add(long a , long b) -");
return a + b;
}
public int add(int[]arr) {
//배열의 모든 요소의 합을 결과로 돌려준다.
System.out.print("int add(int[]arr) -");
int result = 0;
for (int i = 0; i < arr.length; i++) {
result +=arr[i];
}return result;
}
}
|
cs |
add메서드를 오버로딩 하고 있습니다.
매개변수가 모두 다릅니다.
리턴 타입이 다른 것은 성립하지 않습니다.
실행클래스입니다.
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
|
package sec01_exam_overloading;
public class OverloadingEx {
public static void main(String[] args) {
Overloading overloading = new Overloading();
//매개변수의 개수와 타입에 따라서 호출되는 메서드가 달라짐을 기억하자.
System.out.println("Overloading.add(3,3) 결과: " + overloading.add(3, 3));
System.out.println("Overloading.add(3L,3) 결과: " + overloading.add(3L, 3));
System.out.println("Overloading.add(3,3L) 결과: " + overloading.add(3, 3L));
System.out.println("Overloading.add(3L,3L) 결과: " + overloading.add(3L, 3L));
int[] arr = new int[] {100,200,300};
System.out.println("Overloading.add(arr) 결과: " + overloading.add(arr));
System.out.println("Overloading.add(new int[] {1000,1400,1500}) 결과: "
+ overloading.add(new int[] {1000,1400,1500}));
}
}
|
cs |
같은 add를 호출했지만 매개변수에 따라서 다른 메서드를 호출하는 것입니다.
728x90
'JAVA > java 이론' 카테고리의 다른 글
[자바JAVA] 생성자 constructor / this()/ 생성자를 이용한 인스턴스 복사 (0) | 2020.10.11 |
---|---|
[자바JAVA]final필드와 상수 (0) | 2020.10.10 |
[자바JAVA] 재귀호출, 팩토리얼 (0) | 2020.10.09 |
[자바JAVA] call by value & call by reference/ 값에 의한 참조 & 주소에 의한 참조 (0) | 2020.10.09 |
[자바JAVA]JVM의 메모리구조- 호출스택 (0) | 2020.10.08 |