컴공생의 다이어리

[자바, Java] 변수의 유효 범위와 메모리 본문

Development/Java

[자바, Java] 변수의 유효 범위와 메모리

컴공 K 2021. 8. 16. 00:01

변수의 유효 범위와 메모리

변수가 유효한 범위와 생성되고 소멸되는 life cycle은 변수의 종류마다 다르다. 또한 변수마다 사용되는 메모리도 다르다.

변수 유형 선언 위치 사용 범위 메모리 생성과 소멸
지역 변수
(로컬 변수)
함수 내부에 선언 함수 내부에서만 사용 스택 함수가 호출될 때 생성되고 함수가 끝나면 소멸
멤버 변수
(인스턴스 변수)
클래스 멤버 변수로 선언 클래스 내부에서 사용하고 private이 아니면 참조 변수로 다른 클래스에서 사용 가능 인스턴스가 생성될 때 힙에 생성되고, garbage 컬렉터가 메모리를 수거할 때 소멸됨
static 변수
(클래스 변수)
static 예약어를 사용하여 클래스 내부에 선언 클래스 내부에서 사용하고 private이 아니면 클래스 이름으로 다른 클래스에서 사용 가능 데이터 영역 프로그램이 처음 시작할 때 상수와 함께 데이터 영역에 생성되고 프로그램이 끝나고 메모리를 해제할 때 소멸됨
  • static 변수는 프로그램이 메모리에 있는 동안 계속 그 영역을 차지하기 때문에 너무 큰 메모리를 할당하는 것은 좋지 않음

 

 

 

 

출처 : 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online

728x90
Comments