자바 인스턴스 변수 vs 클래스 변수
인스턴스 변수란 인스턴스가 생성되었을때 그 안에 있는 변슁고 클래스 변수란 인스턴스 변수와 상관없이 그냥 존재하는 변수입니다.
인스턴스 변수 : 클래스 내에 선언된 일반적인 변수 입니다.
클래스 변수(static 변수)
static으로 변수를 선언하면 어디서든 그 변수는 똑같습니다. JVM에 클래스가 읽히는 순간부터 클래스 변수가 메모리에 저장됩니다.
mon.java
1 2 3 4 5 6 7 8 9 10 11 | public class mon { static public void main(String args[]) { staticClass.n++; System.out.println("n의 값 : " + staticClass.n); staticClass.n++; System.out.println("n의 값 : " + staticClass.n); staticClass sc = new staticClass(); sc.n++; System.out.println("n의 값 : " + sc.n); } } | cs |
staticClass.java
1 2 3 4 | public class staticClass { static int n = 0; } | cs |
결과물
n의 값 : 1
n의 값 : 2
n의 값 : 3
클래스 변수의 사용
이러한 클래스 변수들은 객체끼리 변수의 공유가 필요한 경우 사용합니다.
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
자바 메소드 오버라이딩이란(Method Overriding) (0) | 2017.12.01 |
---|---|
자바 메소드 오버로딩이란(Method Overloading) (0) | 2017.11.24 |
자바 private,public,default,protected접근자 차이 (0) | 2017.11.22 |
자바 클래스와 인스턴스 (0) | 2017.11.21 |
네이버 API사용법 (java,안드로이드스튜디오) (7) | 2017.11.17 |