728x90
재귀적 호출이란
메서드가 메서드 내부에서 자신을 호출하는 것을 말한다.
Factorial 연산에 주로 이용된다.
5! = 5*4*3*2*1
n! = n*(n-1)*(n-1-1)*(n-1-1-1)...*1
public int factorial01(int n) {
if (n==1) return 1;
System.out.println("n :"+ n);
return n*factorial01(n-1);
}
메서드 내부에서 자기자신의 메서드를 호출 : 재귀적 호출 (Recursive Call)
Ex04_Factorial은 noneStatic / factorial01은 nonStatic의 메서드
noneStatic 은 곧 Instance 를 의미.
noneStatic 임으로 인스턴스 생성후 사용할 수 있음.
public static void main(String[] args) {
Ex04_Factorial factorialtest = new Ex04_Factorial();
System.out.println(factorialtest.factorial01(5));
}
static 메서드로 만들어 보면, 따로 인스턴스 생성하지 않고 바로 메인메서드에서 사용 가능하다
public static int factorial02(int n) {
if (n==1) return 1;
System.out.println("static ) n :"+ n);
return n*factorial02(n-1);
}
System.out.println("static , factorialtest.factorial02(5) :"+factorialtest.factorial02(5));
'Developer > JAVA' 카테고리의 다른 글
JAVA , static 과 instance (0) | 2024.08.04 |
---|---|
JAVA , 초기화 블럭(init) 과 생성자 , this (0) | 2024.08.04 |
JAVA , 매개변수의 전달 방식 : CallByValue와 CallByReference (0) | 2024.08.03 |
JAVA ,Method OverLoading 오버로딩에 대하여 (0) | 2024.08.03 |
JAVA, 클래스의 멤버 메서드 , 지역변수와 전역변수 (0) | 2024.08.02 |