프로그래밍/Java

JAVA의 변수(필드) 종류 - 클래스 변수, 인스턴스 변수, 지역 변수

choi_9182 2019. 9. 18. 21:28
public class test {

	int num; // 인스턴스 변수
    
    static int numTest; // 클래스 변수
    
    
    public void testM(){
    
    	int numM; // 지역변수
        
    }
}

#인스턴스 변수

인스턴스가 생성되고나서 인스턴스 변수가 생성됨.

여러 인스턴스(객체)가 있다면 인스턴스 변수는 각 객체마다 가지고 있다( 클래스 변수와 다름 )

 

#클래스 변수

인스턴스 변수 앞에 static 만 붙여주면 됨.

인스턴스 변수와 달리 모든 인스턴스가 해당 변수의 값을 가지게 됨.

클래스가 로딩될 때 생성되어 딱 한 번만 메모리에 올라간다.

그래서 인스턴스를 생성할 필요가 없으므로 클래스명.클래스변수로 접근 가능하다.

 

#지역 변수

메소드 내에서 선언되어 메소드가 끝나면 소멸된다.