프로그래밍 언어에서 값을 저장하고 참조하기 위한 메모리 공간
에 대한 이름입니다.
자바에서수는 데이터 타입(data type)과 이름(identifier)을 사용하여 선언하며,
값을 저장하거나 추출할 때 변수 이름을 사용합니다.
int number;
여기서 int는 데이터 타입이며, number는 변수의 이름입니다.
이제 number라는 이름으로 해당 변수에 값을 저장하거나 추출할 수 있습니다.
int anotherNumber = number + 5;
anotherNumber 변수에는 number 변수의 값(10)에 5를 더한 결과인 15가 저장됩니다.
=
기호는 등호가 아니라 대입의 의미를 가지고있습니다.
자바에서는 대입 연산자라고 부릅니다.
변수 초기화란 변수에 처음 값을 할당하는 과정입니다.
프로그램에서 변수를 사용하기 전에 변수를 초기화해야 합니다.
초기화되지 않은 변수는 메모리에 존재하는 기존의 쓰레기 값이나 불확실한 값이 할당되어 있을 수 있으며, 이로 인해 예기치 않은 결과가 발생할 수 있습니다.
변수를 선언하면서 동시에 초기화하는 방법을 사용할 수 있습니다.
예를 들어, 다음과 같이 변수를 선언하면서 초기화할 수 있습니다.
int number = 10; // 'number' 변수를 선언하고 10으로 초기화
또는 먼저 변수를 선언한 후 별도의 문장에서 초기화할 수도 있습니다:
int number; // 'number' 변수를 선언
number = 10; // 'number' 변수를 10으로 초기화
클래스 내의 인스턴스 변수와 정적 변수는 자동으로 기본 값으로 초기화됩니다.
기본값은 데이터 타입에 따라 달라집니다.
예를 들어, 정수형 변수의 기본값은 0이고, 부동소수점형 변수의 기본값은 0.0입니다.
불리언 변수의 기본값은 false이고, 참조형 변수의 기본값은 null입니다.
로컬 변수(메소드 내에서 선언된 변수)는 자동으로 초기화되지 않습니다.
로컬 변수를 사용하기 전에 명시적으로 초기화해야 합니다.
그렇지 않으면 컴파일러는 초기화되지 않은 변수 사용에 대한 오류 메시지를 표시합니다.
자바에서 변수는 클래스 변수, 인스턴스 변수, 그리고 지역 변수로 구분됩니다.
이 세 가지 변수 유형은 선언 위치, 사용 범위, 그리고 생명 주기에 따라 차이가 있습니다.
class MyClass {
static int classVar; // 클래스 변수
}
class MyClass {
int instanceVar; // 인스턴스 변수
}
void myMethod() {
int localVar; // 지역 변수
}
지역 변수와 인스턴스 변수의 주요 차이점은 다음과 같습니다.