티스토리 뷰

Java

자바의 변수

살구르 2018. 1. 26. 14:04

구분

멤버변수 

지역변수 

class 변수 

instance 변수 

선언 위치 

클래스의 멤버로 선언 

메소드 안에서 선언 

선언 방법 

static 선언 

사용 메모리 

code 또는 method  

heap 

stack 

생성 시점 

프로그램 시작 시 

객체 생성 시 

메소드 실행 시 

제거 시점 

프로그램 종료 시  

가비지 컬렉터에 의해 

메소드 종료 시 


- 자바의 변수는 크게 멤버변수와 지역변수로 구분

- 멤버변수는 다시 class 변수와 instance 변수로 구분


1) class 변수

- 클래스 변수는 static 키워드를 사용하여 클래스의 멤버로 선언된 변수

- 코드 영역이나 메소드 영역에 프로그램 시작과 동시에 생성

- 프로그램 종료될 때까지 존재하기 때문에, 프로그램 전반에 걸쳐 사용되는 데이터일 때 클래스 변수로 저장


2) instance 변수

- static 키워드 없이 클래스의 멤버로 선언된 일반적인 멤버변수

- 객체 생성 시 힙 영역에 저장

- 서블릿의 경우 최초 요청시 객체가 생성되고, 일반 자바 객체는 new 키워드를 사용했을 때 객체 생성

- 힙 영역에 만들어진 instance 변수는 객체가 삭제 될 때까지 사용할 수 있음

- 서블릿 객체의 경우 웹 애플리케이션 서비스가 중지될 때 객체가 삭제되고, 일반 자바 객체의 경우 참조가 끊긴 후 가비지 컬렉터에 의해 삭제 됨


3) 지역변수

- 메소드 안에 선언된 변수로, 매개변수도 지역 변수에 해당

- 메소드가 실행 될 때 스택 영역에 저장되고 메소드가 종료 될 때 삭제됨

- 따라서 메소드 안에서만 사용 가능

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함