Java 변수
발행: (2025년 12월 18일 오후 02:45 GMT+9)
3 min read
원문: Dev.to
Source: Dev.to
변수 사용 이유
- 데이터를 메모리에 일시적으로 저장
- 값을 여러 번 재사용
- 계산 수행
- 프로그램을 동적이고 유연하게 만들기
- 코드 가독성 및 유지보수성 향상
Java에서 변수를 만드는 방법
1. 선언 (메모리 할당)
int age;
- Java에 어떤 타입의 데이터를 저장할지 알려줌
- 변수용 메모리를 확보
2. 초기화 (값 할당)
int age = 25;
- 할당된 메모리에 값을 저장
변수가 언제 생성되는가?
지역 변수
- 어디서 생성되나요? 메서드나 블록 내부
- 언제 생성되나요? 메서드/블록에 진입할 때
- 언제 소멸되나요? 메서드/블록을 빠져나갈 때
- 메모리 위치: 스택
void show() {
int x = 10; // 지역 변수
}
- 사용하기 전에 반드시 초기화해야 함
- 기본값이 없음
인스턴스 변수 (Non‑static)
- 어디서 생성되나요? 클래스 인스턴스의 멤버로서
- 언제 생성되나요? 객체가
new로 생성될 때 - 언제 소멸되나요? 객체가 가비지 컬렉션될 때
- 메모리 위치: 힙
class Student {
int id; // 인스턴스 변수
}
Student s = new Student(); // 여기서 인스턴스 변수가 생성됨
- 명시적으로 초기화하지 않으면 기본값을 받음
정적 변수 (클래스 변수)
- 어디서 생성되나요?
static키워드와 함께 클래스 내부에 선언될 때 - 언제 생성되나요? JVM이 클래스를 로드할 때
- 언제 소멸되나요? JVM이 종료될 때
- 메모리 위치: 메서드 영역 (클래스 영역)
class College {
static String collegeName = "ABC College";
}
- 클래스의 모든 객체가 하나의 복사본을 공유
매개변수 변수
- 어디서 생성되나요? 메서드의 매개변수 목록에
- 언제 생성되나요? 메서드가 호출될 때
- 메모리 위치: 스택
void add(int a, int b) {
int sum = a + b; // 'a'와 'b'는 매개변수 변수
}