본문 바로가기

Software/Java

[Java] 2. static (정적 변수, 클래스 변수) 이란?

 

 

 

static 이란?

- 객체가 아닌 클래스 내에 기억장소가 할당

- 모든 객체가 공유해야하는 변수의 경우 static으로 선언해서 이용
- 객체가 생성될때, 객체 내부에서 static 키워드로 선언된 변수와 매서드는 비활성화 상태라고 보면 됨

  > static 변수는 static 매서드 내부에서 사용 가능

  > static 매서드의 경우 클래스명.매서드명 의 방식으로 호출할 수 있음

 

public class recursiveSum {

	recursiveSum(){
    	}
    
    public static int excute(int n){
    	if(n<=1)
        	return 1;
        else
        	return n+recursiveSum.excute(n-1);
    }
}

* 임의로 생성한 recursiveSum 클래스에서 excute 매서드를 호출하는 방법 (객체가 아닌 클래스명을 통해 호출함에 주목)