인프런 커뮤니티 질문&답변
Java 언어 기출문제의 변형 질문
해결된 질문
작성
·
183
답변 2
0
주말코딩
지식공유자
안녕하세요.
우선 sum이 재귀함수면서 자식메서드를 호출하시는 것은 이해되셨을까요?
같은 sum이라는 메서드명이 있는데, 자식메서드에서도 똑같으니 재정의(override)하게 됩니다.
그러면 부모에서 사용할 때 자식메서드를 호출하게 됩니다.
자식의 sum 가장 첫 줄에 System.out.println("Add" + n);이 있습니다.
거기에서 출력이 발생합니다.
감사합니다.






Adv as = new Adv();이 줄은 아무 역할도 안합니다.맨 아래 Sum: 15가 출력되는 이유는 as.sum(5)의 최종 리턴값이 15이고,메인함수 두번째 줄이 println("Sum: ", as.sum(5)); 이기 때문입니다.저 Add 5~1은 함수가 실행되는 과정에서의 산출물입니다. (int sum 메서드 부분)결국 출력은 Add 5~1을 쭉하지만, 최종의 리턴값은 한 번에 sum이 되어서 15로 돌려주기 때문에 메인함수의 마지막 줄에서는 해당 리턴값을 받아서 출력합니다.