선언위치에 따른 변수 종류
[자바의 정석 - 기초편] ch6-11 선언위치 변수종류
변수는 선언되는 영역에 따라 종류가 나뉜다.
JAVA에서 영역은 클래스 영역과 메서드 영역 오직 두 가지로 나뉜다.
이때 인스턴스 변수와 클래스 변수는 클래스 영역에서, 지역변수는 메서드 영역에서 생성된다.
이때 클래스 변수는 인스턴스 변수 앞에 static이란 키워드를 붙인 변수임.
클래스 영역은 클래스 이름 오른쪽에 오는 중괄호로 둘러쌓인 영역이다.
메서드 영역은 클래스 내 메서드 이름 오른쪽에 오는 중괄호로 둘러쌓인 영역이다.
클래스 영역에는 선언문만 가능하다. 변수선언이나, 메서드 선언 등… 메서드 바디는?
메서드 바디가 메서드 영역 그 자체인듯…
클래스 영역에 선언만 가능하다는건, 일반적인 표현식(expression)등은 클래스 영역에서 실행되지 않는 다는 의미임.
클래스 영역에서는 순서가 보존되지 않는다. 절차지향적인 프로그래밍과는 다름
변수의 duration도 영역에 따른다. 지역변수들은 메서드영역이 끝나면 메모리에서 제거됨. C의 개념과 같음.