Static 변수 ( 정적 변수 , 클래스 변수 )
클래스에서 공통적으로 사용하는 변수 = ' static ' 변수로 선언
- 프로그램이 실행되어 메모리에 올라갔을 경우, 단 한번 공간이 할당
- 값을 모든 인스턴스가 공유
- 위치 : 클래스 내부에 선언 + 변수 선언시 자료형 앞에 위치
- ex) static int num;
변수 유효 범위
1. 지역 변수 ( = 로컬 변수 )
- 함수나 메서드의 내부에서 선언
- 스택 stack 메모리에 생성
- 함수가 호출되면서 생성 ~ 함수 종료시 소멸
- 하나의 함수에 선언한 지역 변수 = 타 함수에서 사용 불가
2. 멤버변수 ( = 인스턴스 변수 )
- 클래스 내 선언
- 힙 heap메모리에 생성
- 인스턴스 생성 시 생성 ~ 가비지 컬렉터가 메모리 수거시 소멸
- 클래스의 어느 메서드에나 사용 가능 = 여러 메서드에서 사용시 이용
3. static 변수 ( = 클래스 변수 )
- static 예약어 사용하여 클래스 내 선언
- 여러 인스턴스에서 공통으로 사용
- 데이터 영역 메모리에 생성
- 프로그램 시작 ) 상수와 함께 생성
- 프로그램 종료 ) 메모리 해제시 소멸
'JAVA > java' 카테고리의 다른 글
[JAVA] 반복문 for문 / break / continue (0) | 2023.03.26 |
---|---|
[JAVA] 배열 [ ] (0) | 2023.03.25 |
[JAVA] class 클래스와 객체 : final (수정이 불가능한 상수) (0) | 2023.03.25 |
[JAVA] class 클래스와 객체 : this 예약어 (0) | 2023.03.25 |
[JAVA] overriding 오버라이딩 (0) | 2023.03.25 |