자바

변수

코드 죄수 2022. 8. 3. 21:53

변수란? 

상수를 저장하는 메모리 공간이다. ( 변하는 수 ) 

 

변수 이름 생성 규칙 

1. 변수의 이름은 영문자(대소문자), 숫자, 언더스코어(_), 달러($)로만 구성할 수 있습니다.

2. 변수의 이름은 숫자로 시작할 수 없습니다.

3. 변수의 이름 사이에는 공백을 포함할 수 없습니다.

4. 변수의 이름으로 자바에서 미리 정의된 키워드(keyword)는 사용할 수 없습니다.

 

기본 타입 (primitive type)

java 에서는 여러 형태의 타입을 미리 정의하고 제공하고 있다. 이를 기본 타입이라고 칭한다.

 

기본 타입은 8종류인 har,  byte , short, int, long, float, double, boolean이 있다.

 

java 에서 char는 C언어나 C++과 다르게 유니코드를 사용하여 2바이트를 사용한다.

 

ASCII 코드를 사용하면 1byte를 사용하지만 영문자밖에 지원하지 못하지만, 유니코드를 사용하면 2byte를 사용하여 각 나라의 모든 언어를 표현 할 수 있다. ( 총 128 개의 문자를 표현할 수 있다.)

 

문자열은 유니코드를 사용하여 2바이트씩 늘어나며 맨 마지막에 널문자인 2바이트가 추가된다. ( 총 65,536 개의 문자 를 표현 할 수 있다.)

종류 타입 메모리 사용 크기 값의 범위
정수 byte 1 byte -128 ~ 127
char 2 byte 0 ~ 216
short 2 byte -32,768 ~ 32,767
int  4 byte -2,147,483,648 ~ 2,147,483,647
long 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
실수 float 4 byte (3.4 X 10-38) - (3.4 X 1038)
double 8 byte (1.7 X 10-308) ~ (1.7 X 10308)
논리 boolean 1 byte true 또는 false

 

참조 타입(reference type)

배열, 객체 ( 클래스 ), 인터페이스등을 이야기 하며 주소를 변수에 저장하여 사용한다.

 

실제 객체는 힙 영역에 저장되며, 참조 타입 변수는 이를 스택 영역에 실제 객체들의 주소를 저장하여 객체를 사용 할 때마다 참조 변수에 저장된 객체의 주소를 불러와 사용하는 방식이다.

 

 

아래 글은 메모리 영역에 대한 설명이 필요하다면 참고하길 바란다.

 

 

메모리 영역

스택 영역(stack) 자바에서 프로그램에서 함수(메서드)가 호출되면 메서드에 필요한 지역변수와 매개변수를 스택영역에 저장한다. 이렇게 스택 영역은 함수의 호출과 함께 할당되며, 함수의 호출

code-escape.tistory.com