
✅ 변수의 종류
- 멤버 변수 (필드) : 클래스에 선언
- 지역 변수 : 메서드에 선언, 매개변수도 지역 변수의 한 종류
✏️ 멤버 변수, 필드 예시
public class Student {
String name;
int age;
int grade;
}
name, age, grade는 멤버 변수이다.
✏️ 지역 변수 예시
public class ClassStart3 {
public static void main(String[] args) {
Student student1;
student1 = new Student();
Student student2 = new Student();
}
}
student1, student2는 지역 변수이다.
package ref;
public class MethodChange1 {
public static void main(String[] args) {
int a = 10;
System.out.println("메서드 호출 전: a = " + a);
changePrimitive(a);
System.out.println("메서드 호출 후: a = " + a);
}
static void changePrimitive(int x) {
x = 20;
}
}
a, x(매개변수)는 지역 변수이다.
지역 변수는 이름 그대로 특정 지역에서만 사용되는 변수라는 뜻이다. 예를 들어서 변수 x는 changePrimitive() 메서드의 블록에서만 사용된다. changePrimitive() 메서드가 끝나면 제거된다. a 변수도 마찬가지이다. main() 메서드가 끝나면 제거된다.
✅ 변수의 값 초기화
- 멤버 변수 : 자동 초기화
- 인스턴스의 멤버 변수는 인스턴스를 생성할 때 자동으로 초기화된다.
- 숫자(int) = 0, boolean = false, 참조형 = null (null 값은 참조할 대상이 없다는 뜻으로 사용된다.)
- 개발자가 초기값을 직접 지정할 수 있다.
- 지역 변수 : 수동 초기화
- 지역 변수는 항상 직접 초기화해야 한다.
✏️ InitData
package ref;
public class InitData {
int value1; // 초기화 하지 않음
int value2 = 10; // 10으로 초기화
}
value1은 초기값을 지정하지 않았고, value2는 초기값을 10으로 지정했다.
✏️ InitMain
package ref;
public class InitMain {
public static void main(String[] args) {
InitData data = new InitData();
System.out.println("value1 = " + data.value1);
System.out.println("value2 = " + data.value2);
}
}
✏️ 실행 결과

value1은 초기값을 지정하지 않았지만 멤버 변수는 자동으로 초기화 된다. 숫자는 0으로 초기화된다.
value2는 10으로 초기값을 지정해두었기 때문에 객체를 생성할 때 10으로 초기화된다.
'Back-end > Java' 카테고리의 다른 글
| [Java - 기본] NullPointException (0) | 2024.04.04 |
|---|---|
| [Java - 기본] null (0) | 2024.04.04 |
| [Java] toString()과 String.valueOf()의 차이점과 형변환 방법 (0) | 2024.04.04 |
| [Java - 기본] 참조형과 메서드 호출 - 활용 (0) | 2024.04.03 |
| [Java - 기본] 기본형 vs 참조형 (3) - 메서드 호출 (0) | 2024.04.03 |