passion and relax

[JAVA] 03. 네 변수를 알라 (원시 변수와 레퍼런스) 본문

프로그래밍

[JAVA] 03. 네 변수를 알라 (원시 변수와 레퍼런스)

Grab Java 2024. 5. 20. 15:22

변수의 종류

. 원시 변수(=primitive variable) : int, float, double과 같은 기본값이 담긴다.
. 객체 레퍼런스(=object reference) : String, !MyClass와 같은 객체에 대한 래퍼런스가 담긴다.

 


스타벅스 컵 size

. small : 240ml
. tall : 360ml
. grande (그란데) : 480ml

 


부울과 문자형 원시변수

. boolean : JVM 마다 다름 = true, false
. char : 2의 4승 비트 = 16 비트 = 16비트 = 0 ~ 65535

 


정수형 원시변수 (unsigned는 없음. 모두 signed)

. byte : 2의 3승 비트 = 8 비트 = 부호비트 + 7비트 = -128 ~ + 127
. short : 2의 4승 비트 = 16 비트 = 부호비트 + 15비트 = -32,768 ~ + 32,767
. int : 2의 5승 비트 = 32 비트 = 부호비트 + 31비트 = -2,147,483,648 ~ + 2,147,483,647
. long : 2의 6승 비트 = 64 비트 = 부호비트 + 63비트 = -9,223,372,036,854,775,808 ~ + 9,223,372,036,854,775,807
. -로 1이 더 있는 이유(byte를 예로) : +0~+127 = 128개, -0~-127 = 128개, 0이 두번이기에 -0을 -128로 사용

 


실수형 원시변수

. float : 2의 5승 비트 = 32 비트 = 범위가 바뀔 수 있음.
. double : 2의 6승 비트 = 64 비트 = 범위가 바뀔 수 있음.

 


변수 사용 시, 에러 발생의 예

int x = 24;
byte b = x;  //error : 큰컵을 작은컵에 넣으려 하면, 컴파일러는 무조건 넘칠 것으로 예상하고 에러 발생.

 


클래스명, 메소드명, 변수명

. 첫글자 : 알파벳, 밑줄, 달러기호 (숫자 불가)
. 두번째 부터는 맘데로..
. 예약어 불가 : native, strictfp, synchronized, transient, volatile, assert, goto