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
- Gc
- 정보 정의
- MSSQL DATE 함수
- 기본자료형
- Windows 10 계정 안보임
- Ajax
- DATEPART 인수
- Windows 10 계정 오류
- Java 11
- 86비트
- x32x64
- DATEPART 종류
- 컴퓨터 몇비트
- Windows Java 환경 변수
- 기타 사용자
- javascript
- 자바 11
- 가성비 노이즈캔슬링
- 타오트로닉스 후기
- 자료 정의
- 로컬 계정 전환
- TT-BH090
- Windows 10 계정
- Java
- 윈도우 환경 변수
- SOUNDSURGE 90
- Java JDK 11
- 자바 11 다운로드
- Java 11 설치
- 윈도우 10 로그인
Archives
- Today
- Total
이감자의 개발새발 개발일지
재귀호출(recursive call) 본문

재귀호출이란, 특정 메서드 안에서 자기 자신을 호출하여 문제를 해결하는 것을 말한다. 다음은 1부터 10까지의 숫자를 차례대로 출력하고, 출력되는 숫자가 10을 초과할 경우 안내 메세지를 출력한 뒤 종료되는 코드이다.
public class Recursive {
public static int sumCalc(int num) {
int i = num + 1;
if(i > 10) {
System.out.println("숫자 범위 초과");
return;
} else {
System.out.println(i);
sumCalc(i);
}
}
public static void main(String[] args) {
sumCalc(1);
}
}
재귀호출은 반복문과 호환이 가능하다. 반복문 대신 재귀호출을 사용할 경우 코드의 길이가 짧아지고 코드의 의미를 좀 더 빠르게 파악할 수 있다는 장점이 있다(직관적인 코드). 하지만 재귀가 stack 메모리의 범위를 초과할 때 까지 계속 될 경우(재귀가 깊어진다?) stack overflow가 발생하며 비정상적으로 프로그램이 종료 될 수 있다는 점과 속도나 효율이 반복문보다 떨어진다는 단점이 있다.
'개발새발🐶 > Java' 카테고리의 다른 글
Java 11 버전 설치하기 (0) | 2021.08.15 |
---|---|
[JSP] MVC 패턴이란? (0) | 2020.11.10 |
Java 변수 (8) | 2020.10.26 |
Java 언어의 특징과 장점 (2) | 2020.10.07 |