Java

일반 변수와 참조 변수 차이점

최종군 2024. 6. 25. 09:00

 

일반 변수는 메모리의 특정 위치에 값을 저장하는 변수이다 

 

기본 타입 변수 특징 

 

비객체 타입으로 null 값을 가질 수 없다 

기본값이 정해져 있다 

변수의 선언과 동시에 메모리를 생성한다

 

모든 값 타입은 메모리의 stack에 저장이 된다 

 

 

 

 

 

 

참조 변수는 기존 변수의 별칭으로 

원래 변수와 동일한 메모리 위치를 가리킨다 

 

참조 타입은자료형을 제외한 나머지를 말한다 

 

참조형 타입의 특징 : 

 

기본형과는 달리 실제 값저장되지 않고, 자료가 저장된 공간의 주소를 저장한다 

 

기본형 - > 실제 값을 저장 

참조형 - > 주소를 저장 , 참조형 변수는 null로 초기화 시킬 수 있다 

 

 

지역 변수(Local Variable) : 

 

함수나 블록 내에서 선언된 변수이다 

함수가 종료되면 메모리에서 해제된다 

 

전역 변수(Glonal Variable) : 

모든 함수 밖에서 선언된 변수이다 

프로그램이 종료될 떄까지 메모리에 존재한다 

 

 

정적 변수 (Static Variable)

  • 정의: static 키워드를 사용하여 선언된 변수로, 함수 내에서 선언되더라도 프로그램이 종료될 때까지 메모리에 유지됩니다.
  • 특징: 함수가 여러 번 호출되더라도 변수의 값이 유지됩니다.

 

 

구분멤버 변수 (Member Variable)전역 변수 (Global Variable)

선언 위치 클래스 또는 구조체 내부 함수 외부, 파일의 최상위 수준
접근 범위 클래스 또는 구조체의 인스턴스 내부 프로그램 전체
메모리 할당 각 클래스 인스턴스가 생성될 때마다 별도로 할당 프로그램 시작 시 할당, 종료 시 해제
생명 주기 클래스 인스턴스가 존재하는 동안 프로그램이 실행되는 동안
용도 특정 객체의 상태나 속성을 저장 프로그램 전역에서 공통적으로 사용하는 데이터 저장