예시코드
class Variables { int iv; // 인스턴스 변수 static int cv; // 클래스 변수 void method() { int lv = 0; // 지역 변수 } }
인스턴스 변수 :
클래스 영역에 선언되고,
클래스의 인스턴스를 생성할 때 만들어진다.
인스턴스는 독립적인 메모리 공간을 가지므로 서로 다른 값을 가질 수 있다.
따라서 인스턴스 변수의 값을 이용하려면 먼저 인스턴스를 생성해야한다.
인스턴스마다 고유한 상태를 유지해야하는 경우, 인스턴스 변수로 선언한다.클래스 변수 :
클래스 변수를 선언하는 방법은 앞에 static을 붙이기만 하면 된다.
클래스 변수는 모든 인스턴스가 공통된 메모리 공간(변수)를 공유한다.
클래스가 메모리에 올라갈 때 만들어진다.
따라서 인스턴스를 생성하지 않고도 언제라도 바로 사용할 수 있다.
'클래스이름.클래스변수'와 같은 형식으로 사용할 수 있다
어떤 클래스의 모든 인스턴스들이 공통적인 값을 유지해야하는 경우, 클래스 변수로 선언한다.지역변수 :
메서드 내에서만 사용 가능하다.
메서드가 종료되면 소멸되어 사용할 수 없게 된다.