자바 오버라이딩 , 재귀 함수 질문 !

자바 오버라이딩 , 재귀 함수 질문 !

작성일 2023.08.24댓글 2건
    게시물 수정 , 삭제는 로그인 필요

자바 오버라이딩 , 재귀 함수 질문인데요. class Parent 로 넘어가지 않는 이유는 메인에서 그런 함수를 생성하지 않았기 때문이구 class Child 으로 넘어간 뒤에 return compute (num-1) + compute (num-3) 이잖아요. 그러면 4를 넣어서 계산하면 되는데 어떻게 계산을 해야되나요 ? 정답은 1인데 ...



#자바 오버라이딩 #자바 오버라이딩 오버로딩 #자바 오버라이딩 예제 #자바 오버라이딩 단축키 #자바 오버라이딩 오버로딩 차이 #자바 오버라이딩 조건 #자바 오버라이딩 동적바인딩 #자바 오버라이딩 문제 #자바 오버라이딩 하는 이유 #자바 오버라이딩 상속

profile_image 익명 작성일 -

재귀적 메소드의 경우 리턴상태에서 멈춰 있다고 봐야 합니다.

즉 가장 처음에는 4를 가지고 넘어가고, 일단 compute(num - 1)을 다시 호출합니다.

compute(num - 1)이 완료되기 전에는 compute(num - 3)은 호출되지 않습니다.

일단 compute(num - 3)인 compute(1)은 대기합니다.

3은 1 이하가 아니기 때문에 다시 내려가서 compute(num - 1)을 다시 호출합니다.

compute(num - 3)인 0은 대기합니다.

2는 1 이하가 아니므로 다시 1은 1 이하이므로 return num을 호출합니다.

1이 리턴 받은 시점에서 num은 2이기 때문에 여기서부터 compute(num - 3)이 호출됩니다.

나머지 대기도 같이 호출되기 때문에 compute(num - 3)은 -1, 0, 1을 차례대로 리턴합니다.

compute(num -1) 의 리턴 값 1과 compute(num - 3)의 리턴값 -1, 0, 1을 다 더하면 1이 나옵니다.

profile_image 익명 작성일 -

안녕하세요 대진대학교 온라인 홍보 서포터즈입니다!

간단히 나열해서 보기쉽게 알려드리겠습니다

compute(3) + compute(1)

compute(3) => compute(2) + compute(0) = compute(1) + compute(-1) + compute(0) = 1 - 1 + 0 = 0

compute(1) => 1

따라서 1 - 1 + 0 + 1 = 1

결과적으로 답은 1이 되게 됩니다 감사합니다~

자바 재귀함수 질문드립니다.

... 보통 재귀함수는 종료조건이 있고, 매개변수가 종료조건에 가까워집니다. 아래 예를 보면 return 10 * example( a / 10, b - 1);에서 보면 재귀함수를...

자바 재귀함수 질문입니다.

... 팩토리얼 함수인데요 제가 원하는 것은 재귀함수안에서 특정값을 리턴 받는것입니다. n == 4 일때 n 을 리턴시키는 것인데 빨간줄...

자바 재귀함수 질문입니다.

12팩토리얼에 대한 답이 479001600 인 건 알고 있는데 [code]return n*factorial(n-1);[/code] 이 부분이 어째서 그 답으로 연산이 되는지 이해가...

자바 재귀함수 질문입니다!

자바에서 값을 하나 입력받아 다 더하는 함수의 코드를 알수있을까요 예를 들어 제가 12를 입력하면 1부터 12까지 다 더하는...

자바 재귀 함수 질문입니다.

... 어떻게 재귀 함수로 인식이 되는지 이해가 되지 않아 질문드립니다. 리턴이라는 함수의 개념을 잘못 알고 있는 것인지 아니면 재귀 함수 자체를 잘못 알고...