그동안 어떻게 써야할지 몰라 미뤄왔던 TIL을 오늘부터 작성해보려고 한다.
자바의 변수 종류에는 크게 3가지 기본형 변수, 참조형 변수, 래퍼 클래스 변수가 있다
기본형 변수는 논리형 변수,문자형 변수, 정수형 변수, 실수형 변수가 존재한다
원본값이 Stack 영역에 있다.
논리형 변수 : boolean
boolean flag = true; // true or false
문자형 변수 : char
char alphabet = 'A';
정수형 변수 : byte, short, int, long
byte byteNumber = 127; // byte : -128 ~ 127 범위의 숫자만 저장 가능합니다.
short shortNumber = 32767; // short (2byte) 는 -32,768~32,767 범위의 숫자만 저장 가능합니다.
int intNumber = 2147483647; // int (4byte) 는 -21억~21억 범위의 숫자만 저장 가능합니다.
long longNumber = 2147483647L; // long (8byte) 은 9백경 정도의 매우 큰수를 저장 가능합니다.
실수형 변수 : float, double
float floatNumber = 0.123f; // float (4byte) : 3.4 * -10^38 ~ 3.4 * 10^38(long 보다 큼)범위의 숫자 저장이 가능합니다.
double doubleNumber = 0.123123123; // 1.7 * -10^308 ~ 1.7 * 10^308(long 보다 큼)범위의 숫자 저장이 가능합니다.
다른 기본형 변수가 실제 값을 저장하는 저장공간 이라면 참조형 변수는 실제 값이 아닌 원본값의 주소값을 저장한다.
원본값이 Heap 영역에 있다.
문자열 변수 : String
String message = "Hello World"; // 문자열을 저장합니다.
그 외 : Object, Array, List … (객체, 배열, 리스트와 같은 단일 저장공간에 담을 수 없는 값을 저장한다.)
List<int> alphabet = [0,1,2,3]; // 기본형 변수 여러개를 저장합니다.
래퍼 클래스(Wrapper Class) 라는 말 그대로 “기본형 변수를 클래스로 한번 랩핑(감싸는) 변수” 라고 생각하면 편하다다. => 클래스는 객체지향 언어인 Java 의 핵심기능!! 그렇기 때문에 클래스로 변수를 관리하면 객체지향의 많은 기능을 사용할 수 있다!!👍
| 기본 타입 | 래퍼 클래스 |
|---|---|
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
| boolean | Boolean |