변수(V) : 데이터를 저장하는 메모리 공간의 이름
자료형(D) : 변수의 크기와 어떤 종류의 데이터를 저장할 것인지를 결정
할당(A) : 변수에 데이터를 저장

변수를 만들 때는 크기와 데이터의 종류를 고려해야 한다.
-> 변수의 자료형(DataType)을 결정해야함
기본 자료형 : byte, short, int, long float, double, char, boolean
사용자 정의 자료형 : Book, Movie, Member, String ....
String은 기본 자료형이 아닌 참조형(사용자 정의 자료형)이다.(API로 이미 만들어져있다)
public class CarInfo {
public static void main(String[] args) {
// 자동차의 정보를 저장하는 클래스
String manufacturing_company = "BMW";
String model = "BMW528i";
long distance = 100000L;
int price = 9000000;
char type = 'A';
boolean auto = true;
int year = 2007;
float gasmi = 12.5f;
}
}
변수를 관리하는 테이블
변수가 만들어지면 변수를 관리하는 테이블에 변수 정보가 저장된다.
변수는 메모리(RAM)에서 만들어지기 때문에 변수가 만들어지면 테이블에서 관리되어야 한다. 변수 선언시 변수의 이름과 변수가 어디에 저장되어있는지를 알 수 있는 테이블(symbol table)이 생긴다.(변수명 및 주소값이 저장됨)
변수 초기화시 symbol table상의 주소를 따라가 값이 할당된다.
String은 참조 자료형임에도 불구하고 Run시 컴파일러에 걸리지 않는다. 왜그럴까?

String은 자바에서 제공하는 기본 API 패키지에 속해있기 때문에 컴파일러에서 이를 찾아 작동을 시키는 것이다.
String 클래스 안에도 이와 관련된 여러 메서드를 활용할 수 있다.
문자열의 길이 확인 : length()
대소문자 전환 : toUpperCase() / toLowerCase()
....