java/자바 기초정리

인스턴스 멤버 vs 정적 멤버(static member)

appmaster 2019. 4. 7. 02:56

클래스 멤버는

인스턴스 멤버와 정적 멤버로 나누어진다.

 

인스턴스 맴버와 같은 경우는 동일한 클래스를 이용하여 많은 객체들이 생성될때 각각의 객체(인스턴스)들은 자신만의 필드를 가진다. 이들 필드는 인스턴스 마다 별도로 생성되기 때문에 인스턴스 변수(instance variable)라고도 한다.  각 객체는 이들 변수에 대하여 독립적인 기억 공간을 가지고 있으며 각기 다른값을 가지고 있다.

(콘솔창에 출력된 값을 보면 Dog@15db9742 등등 각각 다른 특이한 값이 나오는데 이것이 주소값이다. 즉 이 뜻이 독립적인 기억공간을 가지고 있는 것이고 각기 다른값을 가지고있다는 뜻이다.)

 

정적 변수(class variable)는 클래스 당 하나만 생성되는 변수이다. 정적 변수를 만들려면 변수를 정의할 때 앞에 static을 붙이면 된다. 변수 count앞에는 static이 붙어 있으므로 정적 변수이다. 정적 변수는 하나의 클래스에 하나만 만들어지고 동일한 클래스의 모든 객체들은 하나의 정적 변수를 공유한다. 정적 변수는 객체 없이도 사용이 가능하다. 정적 멤버를 사용하려면 단순히 클래스 이름 뒤에 점(.) 연산자를 붙이면 된다.

 

예를 들어 Television 클래스의 정적 멤버 count에 100을 대입하려면 다음과 같은 문장을 사용한다.

ex) Television.count=100;

'java > 자바 기초정리' 카테고리의 다른 글

자바 형변환  (0) 2019.04.08
자바 프로그램의 일반적인 구조  (0) 2019.04.08
Final 정리  (0) 2019.04.06
자바 용어 정리  (0) 2019.04.06