JVM이란?
Java Virtual Machine의 약자로 여러 가지의 기기 위에 Java 프로그램을 실행시킬 수 있는 가상의 기기를 만들어주는 것을 의미
선언과 할당 그리고 초기화
- 선언 : 데이터를 저장하기 위해 필요한 공간을 명시
- 할당 : 선언한 저장 공간에 값을 저장
- 초기화 : 선언과 할당을 동시에 하는 것
// 선언 int num; // num이라는 이름의 int형의 저장 공간을 선언 // 할당 num = 10; // num이라는 저장공간에 10을 할당 // 초기화 String text = "abc"; // text라는 이름의 String형 저장 공간을 선언한 동시에 abc라는 값을 할당
변수와 상수
- 변수 : 데이터를 저장할 수 있는 공간으로서 프로그램이 실행되는동안 값이 변경될 수 있음
int num = 10; // 변수 num의 초기화 num = 11; // 11이라는 값을 재할당
- 상수 : 데이터를 저장할 수 있는 공간으로서 프로그램이 실행되는동안 값이 변경될 수 없음
final int num = 10; // 상수 num의 초기화 num = 11; // 11이라는 값을 재할당 -> 에러 발생
boolean flag = true;
flag = false;
char alphabet = 'A';
byte byteNum = 127; // byte는 1바이트 (-128 ~ 127)
short shortNum = 32767; // short는 2바이트 (-32,768 ~ 32,767)
int intNum = 2147483647; // int는 4바이트 (-21억 ~ 21억)
long longNum = 2147483647L; // long는 8바이트 (숫자 뒤에 알파벳 L을 붙여서 표기하며 매우 큰 수 저장 가능)
float floatNum = 0.123f; // float는 4바이트 (숫자 뒤에 알파벳 f를 붙여서 표기, 소수점 7자리까지)
double doubleNum = 0.123123123; // double는 8바이트 (소수점 16자리까지)
기본형 변수는 실제 값을 저장하는 공간이라면, 참조형 변수는 실제 값이 아닌 원본 값의 주소값을 저장 (데이터가 얼마나 큰 지 알 수 없기 때문에)
- 문자열 변수 : String
String text : "Hello World"; // 여러 개의 문자로 이루어진 문자열을 저장
- 그 외 : Object, Array, List ...
래퍼 클래스(Wrapper Class)라는 말 그대로 “기본형 변수를 클래스로 한번 랩핑(감싸는) 변수”라는 의미
클래스로 변수를 관리하면 Java의 핵심 기능인 객체지향의 많은 기능을 사용할 수 있기 때문에 사용
박싱 : 기본 타입 -> 래퍼 클래스 변수
언박싱 : 래퍼 클래스 변수 -> 기본 타입// 박싱 // Integer 래퍼 클래스 num에 21의 값을 저장 int number = 21; Integer num = number; // 언박싱 int n = num.intValue(); // 래퍼 클래스들은 inValue() 같은 언박싱 메서드들을 제공
기본 타입 | 래퍼 클래스 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |