[Java] Static
참고로 다른 전역변수나 기타 변수로 선언을 한다면, Heap영역에 올라간다. Heap 영역에서는 가비지 컬렉션이 작동된다.
"public static void main(String[] args) { }"
항상 자바의 초기 프레임으로 외웠는데 궁금해서 찾아보았다. 찾아보다 두가지의 개념에 혼동이 생겨 정리를 하였다.
전역변수라는 것은 ?
- 함수 외부에서 선언된다.
- 프로그램의 시작과 동시에 메모리 공간에 할당되어 종료 시까지 존재한다.
- 별도의 값으로 초기화하지 않으며 0으로 초기화된다.
- 프로그램 전체 영역 어디서든 접근이 가능하다.
- 단점 : 너무많이써버리게되면 프로그램이 복잡해져버린다. 프로그램을 복잡하게 만드는 주범이다.
static변수 라는것은 ?
- 선언된 함수 내에서만 접근이 가능하다. (지역변수 특성)
- 딱 1회 초기화되고 프로그램 종료 시까지 메모리 공간에 존재한다. (전역변수 특성)
- 장점 : static지역변수는 전역변수보다 상대적으로 안정적이다. ( 이유는 전역변수는 어디서든지 접근가능하기 때문에 소스가 꼬일 염려가 있다. )
'◽ Java language > Java' 카테고리의 다른 글
[Java - 기본 - (11) ] Arraylist의 add와 addall 차이 (0) | 2020.03.16 |
---|---|
[Java - 기본 - (10) ] if의 중괄호( {, } ) 생략 (0) | 2020.03.04 |
[Java] "serialVersionUID"이란? 어떤 역할을 가지고 있기에 선언이 되어 있는가? (0) | 2020.02.26 |
[Java - (15) ] java.util.Timer, java.util.TimerTask : 스케줄러 사용하기 (0) | 2020.02.21 |
[Java - (14) ] StringUtils : 문자열 체크 ( StringUtils.isEmpty ) (0) | 2020.02.16 |
[Java - 기본 - (7) ] try catch 쓰는 이유 < 나는 null 처리를 위해 > : "NullPointerException" (0) | 2020.02.14 |
[Java - 기본 - (5) ] 용어 설명 Java SE, JDK, JRE (0) | 2019.12.16 |