BEDAY 10
Method Overloading (메소드 중복 정의)
같은 이름으로 메소드를 매개변수 리스트를 달리하여 중복 정의,
즉, 이름이 같아도 메소드 signature 가 다르면 중복정의 가능.
Method Signature 란
메소드 이름 + 매개변수 리스트 (parameter list)
1. 매개변수의 개수가 다르거나
2. 매개변수의 자료형이 다르거나
3. 매개변수의 순서가 다를 때
위 3개를 '매개변수 리스트' 라 한다
***메소드의 리턴 타입만 다른 경우는 중복 정의할 수 없다!!**
메소드 오버로딩의 장점:
동일한 동작을 하는 메소드에 대해 매개변수만 달리하여 중복정의 하면
이 메소드를 사용하는 입장에선 여러타입의 이름을 익힐 필요가 없다.
재귀 호출 (recursive call)
메소드(혹은 함수) 내부에서 메소드가 자기 자신을 또다시 호출하는 것.
장점:
복잡한 문제를 간단하고 논리적으로 기술 가능.
단점 & 주의 :
메모리 부담 발생
무한히 재귀호출 할수 없다. --> Stack Overflow 발생
따라서 재귀호출은 '종료조건'이 반드시 필요하다.
Stack 메모리 용량 초과 : StackOverFlowError
Heap 메모리 용량 초과 : OutOfMemoryErro
팩토리얼 재귀함수 예제

main 함수

재귀 메소드
Call By Value : 값에 의한 호출
Call By Reference : 참조에 의한 호출
메소드 호출시 매개변수에 넘겨주는 값의 '복사' 가 발생.
자바에선
primitive type 이 매개변수 인 경우 Call By Value
: '값' 이 복사된다
: 메소드에서 매개변수 값을 변경해도 호출한 원본 쪽은 변화 없슴
reference type 이 매개변수 인 경우 Call By Reference 발생
: '주소' 가 복사된다.
: 메소드에서 매개변수 를 통해 변경하면 호출한 원본 쪽도 변화 발생
'Language > JAVA1' 카테고리의 다른 글
| [JAVA 11] 정규 표현식, 클래스 (0) | 2022.02.02 |
|---|---|
| [JAVA 10] 문자열 메소드, 정규표현식 (0) | 2022.01.31 |
| JAVA 08 (0) | 2022.01.27 |
| 369 게임 (반복문) (0) | 2022.01.27 |
| JAVA07 (0) | 2022.01.27 |