🏷️ 변수와 초기화
- 변수(Variable)는 프로그램에서 데이터를 저장하기 위한 메모리 공간에 이름을 붙인 것이며, 이 메모리 공간에 저장된 값은 프로그램 실행 중에 변경될 수 있다.
📊 변수의 종류
1. 멤버 변수 (Member Variable / Field)
- 위치: 클래스 내부에 선언되는 변수다.
- 특징: 객체(인스턴스)의 속성을 나타낸다. 클래스 내의 모든 메서드에서 접근할 수 있다.
- 초기화: 멤버 변수는 별도로 초기화하지 않아도 자바에 의해 기본값으로 자동 초기화된다.
- 숫자 타입 (int, double 등): 0
- boolean: false
- 참조 타입 (String, 객체 등): null
- char: '\\u0000' (null 문자)
- 생명 주기: 객체가 생성될 때 함께 생성되어 객체가 메모리에서 사라질 때 함께 소멸된다.
2. 지역 변수 (Local Variable)
- 위치: 메서드 내부, 생성자 내부, 또는 블록({}) 내부에 선언되는 변수다. 메서드의 매개변수 또한 지역 변수의 일종이다.
- 특징: 선언된 블록 내에서만 유효하며, 블록을 벗어나면 메모리에서 사라진다.
- 초기화: 지역 변수는 반드시 사용하기 전에 직접 초기화해야 한다. 초기화하지 않고 사용하려고 하면 컴파일 오류가 발생한다.
- 생명 주기: 선언된 블록이 실행되는 동안만 존재하고, 블록이 끝나면 소멸한다. (지역 변수는 스택 영역에 저장된다.)
🚫 null
null은 참조형 변수가 어떤 객체도 참조하고 있지 않음을 나타내는 특별한 값이다.
String name = null; // name 변수는 어떤 String 객체도 참조하지 않는다.
Person person = null; // person 변수는 어떤 Person 객체도 참조하지 않는다.
null은 0이나 빈 문자열("")과는 다르다. 빈 문자열은 길이는 0이지만 실제 String 객체를 참조하고 있는 반면, null은 객체 자체가 없는 상태를 의미한다.
'JAVA' 카테고리의 다른 글
| [JAVA] 패키지란? (0) | 2025.09.13 |
|---|---|
| [JAVA] 가비지 컬렉션(GC)와 NPE (0) | 2025.09.13 |
| [JAVA] 배열과 기본형, 참조형이란? (0) | 2025.09.13 |
| [JAVA] 클래스, 객체, 인스턴스란? (0) | 2025.09.13 |
| [JAVA] OOP(객체 지향 프로그래밍)이란? (0) | 2024.04.25 |