개발자 데뷔!

11. [Java] 변수의 종류 & 유효범위(scope) 본문

프로그래밍 언어/Java

11. [Java] 변수의 종류 & 유효범위(scope)

물꼮이 2022. 2. 1. 07:51

 

 

 


 

변수의 종류 & 유효범위(scope)

변수유형 선언위치 사용범위 메모리 생성과 소멸
지역변수
(local변수)
함수 내부에 선언 함수 내부에서만 스택 함수 호출시 생성,
함수 끝날시 소멸
멤버변수
(instance 변수)
클래스 멤버변수로 선언 클래스 내부 & private이 아닐 경우 다른 클래스 포함
(with 참조변수)
인스턴스 생성 시 생성,
'가비지 컬렉터'가 메모리 수거시 소멸
static변수
(class 변수)
클래스 내부에
(static 예약어)로 선언
클래스 내부 & private이 아닐 경우 다른 클래스
(with 클래스 이름)
데이터 프로그램 첫 시작시 생성,
프로그램 끝나고 메모리 해제 시 소멸
  • 지역변수는 선언한 메서드 내부 에서만 사용할 수 있지만,
  • 멤버변수는 클래스의 어느 메서드에서나 사용할 수 있다. 즉, 여러메서드에서 사용하는 변수는 멤버변수로 설정
  • static 변수는 여러 인스턴스에서 공통으로 사용한다. 클래스 생성과 상관없이 데이터 영역에 메모리 생성.