Daily coding
Java Basic : day 7 - Overload 오버로딩 본문
Overload :
함수(메소드)명은 같고
인자, 인수(매개변수)의 자료형이지만
인수의 개수가 다른 함수를 의미함. (서로 다른 함수임)
예시 :
image draw function 중
RGB, RGBA(투명도) 의 인자의 개수가 다르기 때문에 오버로딩으로 구현
구현 :
imageDraw(int x, int y){ }
imageDraw(int x, int y,int a) { }
** Override : 상속, 다형성과 관련된 개념
주의사항
1. 함수의 자료형을 바꾸면 오버로딩 구분이 안됨.
2. 매개변수로 가변인수는 컴파일 에러가 날 수 있다. <-- 찾아보기
// 아래는 메소드 호출 부분
*/
func();
func('a');
func(10);
func('a', 10);
func(10, 'a');
}
// Method overload
static void func() {
System.out.println("func() 호출. 인자값 없음.");
}
static void func(char c) {
System.out.println("func(char c) 호출. 인자값 1개 : " + c);
}
static void func(int i) {
System.out.println("func(int i) 호출. 인자값 1개 : " + i);
}
static void func(char c, int i) {
System.out.println("func(char c, int i) 호출. 인자값 2개 : " + c + ", " + i);
}
// 매개변수의 개수, 종류가 같아도 위치가 다르면 오버로딩.
static void func(int i, char c) {
System.out.println("func(int i, char c) 호출. 인자값 2개 : " + i + ", " + c);
}
// 함수의 자료형을 바꾸면 오버로딩 규칙에 어긋남
// 아래는 오버로딩이 아님
// static int func(int i, char c) {
// System.out.println("func(int i, char c) 호출. 인자값 2개 : " + i + ", " + c);
// return i;
// }
}
'Language > Java_basic' 카테고리의 다른 글
Java Basic : day 7 - Exception 예외처리2 (0) | 2019.11.26 |
---|---|
Java Basic : day 7 - Exception 예외처리1 (0) | 2019.11.26 |
Java Basic : day 7 - 가변인수란? (0) | 2019.11.26 |
Java Basic : day 6 - Example 08 : Baseball게임 소스코드 메소드 분리하기 (0) | 2019.11.26 |
Java Basic : day 6 - Example 07 : 정렬 메소드로 구현 sorting() (0) | 2019.11.26 |