변수란 데이터를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 의미한다.
그리고 저장된 값은 변경될 수 있다.
자바에서는 변수뿐만 아니라 클래스, 메소드 등의 이름을 짓는데 반드시 지켜야 하는 규칙이 있다.
1, 변수의 이름은 영문자(대소문자), 숫자, 언더바(_), 달러($)로만 구성할 수 있다.
2. 변수의 이름은 숫자로 시작할 수 없다.
3. 변수의 이름 사이에는 공백을 포함할 수 없다.
4. 변수의 이름으로 자바에서 미리 정의된 키워드는 사용할 수 없다.
자바에서는 변수를 사용하기 전에 반드시 먼저 변수를 선언하고 초기화해야 하낟.
이 방법은 먼저 변수를 선언하여 메모리 공간을 할당받고, 나중에 변수를 초기화하는 방법이다.
하지만 이렇게 선언만 된 변수는 초기화되지 않았으므로, 해당 메모리 공간에는 알 수 없는 쓰레기값만이 들어가 있다.
따라서 선언만 된 변수는 반드시 초기화한 후에 사용해야 한다.
int num; // 변수 선언
System.out.println(num); // 오류 발생
num = 20; // 변수 초기화(할당)
System.out.println(num); // 20
위의 예제처럼 정수를 저장하기 위한 메모리 공간을 할당받으면, 반드시 해당 타입의 데이터만을 저장해야 한다.
선언하고자 하는 변수들의 타입이 같다면 이를 동시에 선언할 수도 있다.
int num1, num2; // 같은 타입의 변수를 동시에 선언
double num3 = 3.14; // 선언과 동시에 초기화(할당)
double num4 = 1.23, num5 = 4.56 // 같은 타입의 변수를 동시에 선언하면서 초기화
하지만 다음처럼 여러 변수를 동시에 초기화할 수는 없다.
int num4, num5; // 같은 타입의 변수 동시 선언
num4 = 2, num5 = 10; // 이미 선언된 여러 변수를 동시에 초기화 할 수 없다.
상수(constant)란 변수와 마찬가지로 데이터를 저장할 수 있는 메모리 공간을 의미한다.
하지만 변수와 다른 점은 프로그램이 실행되는 동안 메모리에 저장된 데이터를 변경할 수 없다는 점이다.
상수는 선언과 동시에 반드시 초기화해야 하낟.
자바에서는 final키워드를 사용한다.
final int num = 10;
리터럴이란 그 자체로 값을 의미한다.
즉, 변수와 상수와는 달리 데이터가 저장된 메모리 공간을 가리키는 이름을 가지고 있지 않다.
int var = 10; // 10은 리터럴이다.
final int num = 50; // 50은 리터럴이다.
'로 감싸진 문자로 표현된다."로 감싸진 문자열로 표현된다.이와 같이 기본형 변수와 상수, 리터럴에 대하여 알아보았다.
예전에 배울때는 그렇구나 하고 그냥 쓰기에 바빴는데 다시 개념을 찾아보니 좀 더 정확하게 사용할 수 있을 것 같다.
역시 기본 개념이 중요한 것 같다고 다시 한 번 느끼게 된다.