hyeongwoo's blog

[Java] 변수 본문

JAVA

[Java] 변수

toribro 2024. 1. 14. 17:09

변수

 변할수 있는 값

  • 프로그래밍에서는 컴퓨터메모리(RAM)에 값을 기록하기 위한 공간이다.

변수 선언

  • 메모리공간에 공간을 할당하는 것
int a;

변수 초기화

  • 할당된 메모리공간에 값을 넣는것
int a;
a=2;

변수접근

  • 메모리에서 값을 가져오는 것
    • 사용시 유지 보수성 증가

변수 규칙

  • 대소문자 구분
  • 숫자로 시작할수 없다
  • $과_이외의 특수문자는 사용할수없다
  • 키워드는 변수의 이름으로 사용할 수 없다.
  • 변수 자료형 결정
  • 해당 변수에 값을 저장 및 참조하는 방식의 결정

 

일반변수와 참조변수

 

일반변수

  • 일반 을 가지고있는 변수이다.
  • stack 영역에 저장된다.
  • 프로그램 실행전(컴파일과정)에 메모리공간을 할당한다.
  • 자료형에따라 할당되는 메모리크기가 정해진다.
  • 참조변수도 stack영역에 할당된다.
5
4
3
2
1

 stack

참조변수

  • 특정 메모리공간의 주소를 가지고 있는 변수
  • 자신이 가지고 있는 주소의 메모리 공간을 참조한다.
    • 참조한다라는 의미는 참조변수가 가지고있는 주소값의 메모리공간을 가리킨다라는 뜻이다.
    • 자바에서 참조변수는 heap 메모리에 있는 메모리공간을 가리킨다.

  • 인스턴스는 new 연산자로 heap영역의 메모리에 할당되고  참조변수는 할당된 heap 영역의 인스턴스 메모리 주소를 저장한다.

 

자바에서의 Heap 영역

  • 동적할당되는 메모리 영역
    • 프로그램 실행중에 할당된다.
    • 필요한 공간만큼 할당된다.  예)String 객체의 문자열 공간
  • 자바는 new 연산자로 heap메모리에 공간 할당
  • 만약 값이 할당되지 않았을때 자바 JVM이 자료형에 따라 특정 값으로 할당 시킨다.
    • 기본 자료형은 0 , 객체는 null
  • 참조 변수에의해 접근이 가능하다.
  • heap메모리공간을 참조하고있던 참조변수가 사라지면 할당된 힙 메모리는 자바 JVM의 가비지 컬렉터 에의해 수거된다.

 

자바는 JVM 메모리관리를 해준다.C나 C++처럼 개발자가 직접 메모리 관리를 하지 않아도 된다.


상수

수학) 변하지 않는 값

  • 프로그래밍에서는 한번만 값을 할당 할 수 있는 메모리
  • 상수의 이름은 모두 대문자로 짓는 것이 관례

리터럴

  • 변수에 대입되는 자체

형변환

  • 작은타입->큰타입 :자동
  • 큰타입 ->작은타입 :강제 (데이터 손실)
int a=2; 
double b=a; 
double c=2; 
int d=(int)c;

 

'JAVA' 카테고리의 다른 글

[Java] 제어문_(반복문)  (1) 2024.01.21
[Java] 배열_(복사)  (0) 2024.01.17
[Java] 배열_(개념)  (0) 2024.01.16
[Java] 연산자  (0) 2024.01.14
[Java] 개요  (1) 2024.01.14