해결된 질문
작성
·
142
0
JAVA언어 기출문제의 변형, 업캐스팅 + 재귀함수(16분)
class Child extends Parent{
public in sumValues(int n){
if(n <= 0){
return 0;
}
if(n%2 == 0){
return n + sumValues(n-2);
}else{
return sumValues(n-1);
}
위 코드에서, 짝수일 때 return n+sumValues(n-2),
홀수일 때 sumValues(n-1)을 실행하게 되는데,
9 = sumValues(8) // 18
8 = 8 + sumValues(6) // 18
7 = sumValues(6) // 10
6 = 6 + sumValues(4) // 10
5 = sumValues(4) // 6
4 = 4 + sumValues(2) // 6
3 = sumValues(2) // 2
2 = 2 + sumValues(0) // 2
1 = sumValues(0) // 0
0 = 0 // 0
으로, sum : 18로 생각을 했는데, 강의를 아무리 봐도 어떻게 20이 계산되는지 이해가 안 됩니다..