JAVA에서 사용되는 변수에대해 정리해보겠다.
변수란 상자와 같다 다음 예시와 함께 살펴보자.
EX)
int box = a
상자에 a라는 물건을 넣고 int라는 라벨을 붙히면 int 상자에 a 물건 있어요 와 같은 것이다.
위의 예시도 box 라는 이름의 저장공간에 int 타입의 a가 들어간 것이다.
이러한 변수엔 변하는 것과 변하지 않는 것으로 나뉘는데 변하지 않는 값은 파이값이나 주민번호와 같은 절대 변하지 않는 수를 저장하는 공간이다 이러한 변수는 상수라고 칭한다.
변수 - 변할 수 있는 수
상수 - 변하지 않는 수
EX)
int a = 1
final int b = 988888-1888888
위의 예시중 a는 함수나 조건을 만났을때 바뀔 수 있는 수고 b는 함수나 조건을 만나도 변경되지 않는 고정 된 수이다.
정수는 예시와 같이 final 이란 함수를 타입 앞에 적어줌으로 나타낸다.
데이터는 변수에 저장되는 것으로 int a = 1 에서 1이 해당된다.
이러한 데이터는 int 와같이 타입이 존재한다.
타입의 종류로는 크게 기본형과 참조형 으로 나뉘게 된다.
테이터 타입의 기본형은 데이터가 숫자인지 문자인지 와 같은 직관적으로 데이터가 무엇인 데이터인지를 뜻한다.
EX)
byte a = 127;
int b = 1000;
char c = 'C'
위와같이 int 인 숫자인지, char 인 문자형인지, byte 와같이 숫자인데 어떠한 크기글 가졌는지를 미리 정해 적어주는 것이다.
쉽게 숫자인 형태의 타입을 생각하면 된다.
1, 10, 500, 10.1 과같은 숫자들이 이에 해당된다.
여기서 크기는 1 보다 10 이 큰 경우가 아니라 숫자가 담길 수 있는 공간의 크기를 말한다.
예를들어 한개의 상자가 들어가는 공간과 열개의 상자가 들어가는 공간의 이름이 다르다고 생각 하면 쉬울것 같다.
JAVA 에선 크기를 byte단위로 크기를 지정하는데 이 byte는 컴퓨터에서 문자, 숫자 및 특수 기호 등을 나타내기 위하여 8개의 비트를 묶어서 정보를 표현하는 단위이다.
타입의 종류는 다음과 같다.
정수형
byte (1byte)
short (2byte)
int (4byte)
long (8byte)
실수형
float (4byte)
long (8byte)
순서대로 이름과 크기 순서이다.
byte(1) -> short(2) -> int(4) -> long(8) -> float(4) -> long(8) 순서대로 long 이 제일 큰 크기를 가진다
참조형 변수는 데이터의 크기를 나타내는것이 아닌 어떠한 형태도 저장 할수 있는지 아님 어떤한 형태로 저장되어 있는지 와 같은 데이터의 형식을 알 수 있다.
EX)
String a = "hello";
Array[] b = [a,b];
위의 예시와 같이 a는 hello와 같은 문자열 데이터를 가진 다는 의미를 가지고 있고 b는 a,b를 배열 형식으로 가지고 있다고 의미한다.
래퍼 클레스 변수란 래퍼 에서 현실에서 사용하는 남은 음식을 싸는 랩을 생각 하면 편한것 같다.
예를 바로 살펴 보면서 이해하자.
EX)
int number = 1;
Integer num = new Integer(number);int n = num.intValue()
위와 같은 예시에서 랩역할을 하는것은 Integer num 이다.
쉽게 생각해보면 1이 들어있는 number라는 박스를 num이라는 박스에 한번 더 넣어 준다고 생각하면 쉬울것 같다.
코드에서도 number값을 Integer(number) 과 같이 넣어주는 것을 볼 수 있다.
여기까지의 과정을 박싱이라고 한다.
다음으로 4번째줄 코드를 살펴보자 여기서 쉽게 생각 해보자면 위에서 num 이란 박스에 넣었었던 number이란 상자를 다시 꺼낸다고 생각하면 될 것 같다 그 방법이 num.intValue() 와같이 박스 이름 + .intValue() 형태인 것이다.