관련글 :
| 자료형 참조 | https://waydd.tistory.com/183 |
변수 위치별 초기화 규칙
지역 변수 (Local Variable)
- 메서드 안에서 선언된 변수
- 반드시 명시적으로 초기화 해야 함 ( 컴파일 에러 발생 )
public class Main {
public static void main(String[] args) {
int x; // 지역 변수
// System.out.println(x); // ⚠️ 컴파일 에러 발생
x = 10;
System.out.println(x);
}
}
멤버 변수 (Field, Instance Variable)
- 클래스 내부, 메서드 밖에서 선언된 변수
- 자동으로 기본값(Default Value) 부여
class MyClass {
int a; // 0
double b; // 0.0
boolean c; // false
String s; // null
void printValues() {
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(s);
}
}
public class Main {
public static void main(String[] args) {
MyClass obj = new MyClass();
obj.printValues();
}
}
배열 (Array)
- 생성시, 내부 요소들 자동으로 기본값으로 초기화
int[] arr = new int[3];
System.out.println(arr[0]); // 0
요약 정리
- 간단 정리
- 지역 변수 자동 초기화 X → 명시적 초기화 필수
- 멤버 변수 & 배열 → 자료형에 따라 자동으로 초기값 부여
※ 왜 이런 설계인지?
- C/C++과 달리 자바는 메모리를 안전하게 관리
( C에서는 배열 등 을 만들면 이전에 남아 있던 쓰레기값이 들어갈 수 있음 )
→ 자료형의 기본값으로 채워주기 때문에, 초기화 실수로 인한 예측 불가능한 오류 방지
- 자료형별 기본값 요약
| 초기값 (Default) | |
| 정수형(byte, short, int, long) | 0 |
| 실수형(float, double) | 0.0 |
| 논리형(boolean) | false |
| 문자형(char) | '\u0000' (널 문자) |
| 참조형(String, 객체, 배열 등) | null |
'Language & Tool > Java' 카테고리의 다른 글
| ☕OOP 핵심: 클래스가 반드시 구현해야 하는 설계도를 정의하는 인터페이스(Interface) (0) | 2026.06.08 |
|---|---|
| ☕OOP 핵심: 부모 클래스를 재사용하여 새로운 클래스를 작성하는 상속(Inheritance) (0) | 2026.06.05 |
| 🌱JAVA 패키지 정리 모음 (0) | 2025.09.08 |
| 🌱JAVA 형변환 정리 (0) | 2025.09.08 |
| 🌱JAVA 문법 기초 (+ 초기화 예시) (0) | 2025.09.08 |