▶ 변수는 항상 변하는 값을 의미한다.
▶ 변수를 사용하기 위해서는, 값에 알맞은 자료형 (DataType)을 결정해야 한다.
package variable;
public class VariableTest1 {
public static void main(String[] args) {
int age; // 변수 선언
age = 20; // 변수 초기화
System.out.println(age);
}
}
[실행 결과]
20
▶ 변수의 자료형과 이름을 결정하는 것을 '변수 선언'이라고 한다.
▶ 선언된 변수에 처음으로 값을 대입하는 것을 '변수 초기화'라고 한다.
✋ 여기서 잠깐!
int는 정수를 표현하는 자료형입니다.
'2-4. 자료형' 파트에서 자세히 다룰 내용입니다 😊
👉 'java-basic: 2-4. 자료형' 문서 확인하러 가기
package variable;
public class VariableTest2 {
public static void main(String[] args) {
int age = 20;
System.out.println(age);
}
}
[실행 결과]
20
▶ 변수 선언과 변수 초기화를 동시에 할 수 있다.
▶ 수학에서는 '='는 오른쪽의 값과 왼쪽의 값이 같다는 의미를 가지지만, 프로그래밍에서는 '오른쪽의 값(R-Value)을 왼쪽의 변수(L-Value)에 대입한다'라는 의미로 사용된다.
package variable;
public class VariableTest2 {
public static void main(String[] args) {
int age = 20;
System.out.println(age);
}
}
[실행 결과]
20
▶ 결국, 위 문장은 '값 20이 age와 같다' 라는 뜻이 아니라,
'값 20을 정수 자료형으로 선언된 변수 age에 대입한다'는 뜻이다.
▶ 변수 이름은 영문자와 숫자를 사용할 수 있고, 특수문자 중에서는 '$'와 '_'만 사용할 수 있다.
▶ 단, 변수 이름은 숫자로 시작할 수 없다.
▶ JAVA에서 이미 사용 중인 예약어는 사용할 수 없다. (ex. int, while, ...)
▶ 변수 이름은 용도에 맞고 가독성 있게 선정하는 것이 좋다.
▶ 여러 단어를 사용하여 변수 이름을 만드는 경우?
카멜 표기법 (Camel Case)
첫 번째 단어를 제외한 모든 단어의 첫 글자를 대문자로 사용하는 표기법
(Ex. numberOfStudents)
스네이크 표기법 (Snake Case)
모든 단어를 '_'로 구분하는 표기법
(Ex. number_of_students)
▶ 상수는 항상 변하지 않는 값을 의미한다.
▶ 관례적으로 대문자와 스네이크 표기법을 사용한다.
package variable;
public class ConstantTest {
public static void main(String[] args) {
final double PI = 3.141592;
// PI = 3.14; /* 오류 발생! */
System.out.println(PI);
}
}
[실행 결과]
3.141592
▶ 상수는 final 예약어를 사용하여 선언한다.
▶ 한 번 초기화된 상수는 추후에 값을 변경할 수 없다.
✋ 여기서 잠깐!
double은 정수를 표현하는 자료형입니다.
'2-4. 자료형' 파트에서 자세히 다룰 내용입니다 😊
👉 'java-basic: 2-4. 자료형' 문서 확인하러 가기
▶ 리터럴은 프로그램에서 사용하는 모든 값을 의미한다. (Ex. 10, 3.141592, 'A', ...)
▶ 리터럴은 프로그램을 실행할 때 시스템에 같이 로드(load)되어,
'상수 풀 (Constant Pool)'이라는 공간에 메모리를 할당 받게 된다.
package variable;
public class VariableTest2 {
public static void main(String[] args) {
int age = 20;
System.out.println(age);
}
}
[실행 결과]
20
▶ 위 문장에서 20이라는 값은 프로그램이 실행될 때 상수 풀에 메모리를 할당 받는 '리터럴'이며, 이 리터럴이 정수형 변수 age에 대입되는 것이다.