EOZIN
2021. 10. 14. 16:38
728x90
리턴타입, 메소드명, 매개변수
콜스택 영역을 다 썼을 때 - stack overflow
1. 전역변수
public static int fac = 1;
public static void factorial(int i) {
if (i <= 1) {
System.out.println("fac : " + fac);
} else {
fac *= i;
factorial(i - 1);
}
}
2. 리턴
public static int factorial2(int i) {
if (i <= 1) {
return 1;
} else {
return i * factorial2(i - 1);
}
}
3. 매개변수 (* 중요)
/** 팩토리얼 시작값, 곱한 누적값 */
public static void factorial3(int n, int mul) {
if (n <= 1) {
System.out.println(mul);
} else {
factorial3(n - 1, n * mul);
}
}