클래스 변수, 인스턴스 변수, 지역 변수

988 단어 JavaJava

선언 위치에 따른 변수의 종류

변수의 종류를 결정짓는 것은 '변수가 선언된 위치'다.

public class test
{ 
	int iv; // 인스턴스 변수
	static int cv; // 클래스 변수
    
	void method()
    { 
    	int lv; // 지역 변수 
    } 
}


인스턴스 변수

인스턴스 변수는 인스턴스가 생성될 때 생성된다. 그렇기 때문에 인스턴스 변수의 값을 읽어오거나 저장하려면 인스턴스를 먼저 생성해야 한다. 인스턴스별로 다른 닶을 가질 수 있으므로, 각각의 인스턴스마다 고유의 값을 가져야 할 때는 인스턴스 변수로 선언한다.


클래스 변수

클래스 변수는 인스턴스 변수에 static만 붙여주면 된다. 클래스 변수는 모든 인스턴스가 공통된 값을 공유하게 된다. 한 클래스의 모든 인스턴스들이 공통적인 값을 가져야할 때 클래스 변수로 선언한다.

클래스가 로딩될 때 생성되어(그러므로 메모리에 딱 한번 올라간다) 종료 될 때 까지 유지되는 클래스 변수는 public을 붙이면 같은 프로그램 내에서 어디서든 접근할 수 있는 전역 변수가 된다.
또한 인스턴스를 생성하지 않고 클래스이름.클래스변수명 을 통해 접근할 수 있다.


지역변수

메소드 내에서 선언되며 메소드 내에서만 사용할 수 있는 변수. 메소드가 실행될 때 메모리를 할당 받으며 메소드가 끝나면 소멸되어 사용할 수 없게 된다.

좋은 웹페이지 즐겨찾기