산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java 재귀 이해: 동작 원리, 예제, 장단점 분석

Java 재귀

이 가이드는 Java 재귀 메서드를 설명하고, 고전적인 팩토리얼 예제를 통해 동작을 살펴보며 재귀 사용의 장단점을 평가합니다.

Java에서 자기 자신을 호출하는 메서드를 재귀 메서드라 하며, 이 기법을 재귀라고 합니다. 간단한 실생활 예로는 두 거울이 마주 보는 경우가 있습니다: 각 반영은 또 다른 거울 상이 되어 빛이 흡수될 때까지 반복됩니다.


재귀 동작 원리

Java 재귀 이해: 동작 원리, 예제, 장단점 분석

위 그림에서 recurse() 메서드는 main()에서 호출됩니다(일반 호출). recurse() 내부에서 같은 메서드가 자신을 다시 호출하여 재귀 호출을 만듭니다. 무한 루프를 방지하려면 각 재귀 호출에 종료 조건이 있어야 하며, 일반적으로 if…else 문으로 구현합니다.


예제: 재귀를 이용한 팩토리얼 계산

class Factorial { static int factorial(int n) { if (n != 0) // 종료 조건 return n * factorial(n - 1); // 재귀 호출 else return 1; } public static void main(String[] args) { int number = 4, result; result = factorial(number); System.out.println(number + " factorial = " + result); } }

출력:

4 factorial = 24

factorial() 메서드는 main()에서 인수 number와 함께 호출됩니다. factorial() 내부에서

return n * factorial(n-1);
줄이 메서드를 감소된 값으로 자기 호출하게 합니다. n = 4로 시작하여 호출이 진행됩니다: 4 → 3 → 2 → 1 → 0. n이 0에 도달하면 if 조건이 실패하여 1을 반환합니다. 누적된 곱이 콜 스택을 통해 main()으로 다시 전파됩니다.


팩토리얼 프로그램 실행 흐름

아래 이미지는 실행 중 콜 스택의 변화를 보여줍니다.

Java 재귀 이해: 동작 원리, 예제, 장단점 분석

재귀의 장단점

전반적으로 재귀는 높은 메모리 사용량과 잠재적 성능 오버헤드 비용으로 우아한 솔루션을 제공합니다. 깊이 제한이 있는 많은 사용 사례에서 이 트레이드오프는 가치가 있습니다.

추천 읽기: 재귀의 장단점은 무엇인가?

java

  1. Java 연산자 마스터하기: 종류, 문법, 실전 예제
  2. Java 인터페이스 마스터: 개념, 구현, 모범 사례
  3. Java Try-with-Resources 마스터: 자동 리소스 관리 완전 해설
  4. Java 애너테이션 완전 해설: 종류, 배치 위치, 실전 예제
  5. Java 애너테이션 타입 종합 가이드: 사전정의, 커스텀, 메타 애너테이션
  6. Java String length() 메서드: 문자열 크기 구하기 (예제 포함)
  7. Java String.charAt() 완전 이해: 문법, 반환타입, 예외, 실전 예제
  8. Java String.endsWith() 마스터: 문자열 접미사 확인 예제
  9. Java 문자열 치환 마스터: replace(), replaceAll(), replaceFirst() 완벽 해설
  10. 자바에서 재귀를 이용해 문자열 뒤집기: 단계별 가이드