지역변수
지역변수는 이름 그대로 한 지역 내에서만 사용할 수 있는 변수이다. 여기서 지역이란, 중괄호에 의해 만들어지는 영역을 뜻한다. 지역 변수는 함수 내에서만 존재하고, 접근이 가능하기 때문에 지역을 벗어나면 자동으로 소멸된다. 함수 생성시 메모리에 올라가고 함수가 끝나면 메모리에서 소멸된다. 지역변수는 선언된 지역이 다르면 변수 명이 같아도 문제가 되지 않는다는 장점이 있다. 하지만 초기화하지 않고 사용하면 쓰레기 값이 들어가 실행 에러가 일어날 수 있다.
heap에 존재
전역변수
전역변수는 지역변수와 다르게 어느 지역에서나 사용할 수 있는 변수이다. 전역변수는 프로그램의 시작과 동시에 메모리 공간에 할당되어서 프로그램이 종료될 때까지 존재한다. 또한 지역변수와 다르게 별도로 초기화하지 않으면 자동으로 0이 초기값으로 들어간다.
stack에 존재
- 전역변수(Global variable) : 어느 위치에서든 호출하면 사용이 가능
(함수 밖에 선언하여 클래스 전체에서 사용이 가능한 변수)
- 지역변수(Local variable) : 특정구역({ }) 내에서 생성되어 그 구역에서만 사용
(함수 속에 선언되어 해당 함수 속에서만 사용이 가능한 변수)