Developer/JAVA

JAVA , 팩토리얼 연산 (Factorial)과 static

단님 2024. 8. 3. 02:31
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));