반응형
안녕하세요! 😊 오늘은 자바 변수(Variable)에 대해 알아보겠습니다. 자바에서 변수를 이해하는 것은 프로그래밍의 기본이며, 데이터를 저장하고 관리하는 데 필수적인 개념입니다. 이번 글에서는 변수의 선언과 초기화, 종류, 데이터 타입, 명명 규칙, 유효 범위, 형 변환까지 자세히 다뤄보겠습니다. 그럼 시작해볼까요? 🚀
목차
- 자바 변수(Variable)란?
- 1. 변수 선언과 초기화
- 2. 변수의 종류
- 3. 변수의 데이터 타입
- 4. 변수의 명명 규칙
- 5. 변수의 유효 범위와 생명주기
- 6. 변수의 형 변환
- 결론
자바 변수(Variable)란?
변수란 데이터를 저장하는 메모리 공간의 이름입니다. 자바에서 변수를 사용하면 데이터를 저장하고 필요할 때 불러와 사용할 수 있습니다.
1. 변수 선언과 초기화
자바에서 변수를 사용하려면 먼저 변수 선언을 해야 합니다.
(1) 변수 선언 방법
자료형 변수명;
예제:
int age; // 정수를 저장할 수 있는 age 변수 선언
double pi; // 실수를 저장할 수 있는 pi 변수 선언
(2) 변수 초기화 (값 할당)
자료형 변수명 = 값;
예제:
int age = 30; // age 변수에 30 저장
double pi = 3.14; // pi 변수에 3.14 저장
변수를 선언한 후 나중에 값을 할당할 수도 있습니다.
int number; // 선언
number = 100; // 값 할당
2. 변수의 종류
자바 변수는 선언 위치와 사용 범위에 따라 다음과 같이 구분됩니다.
(1) 지역 변수 (Local Variable)
- 메서드나 블록 내부에서 선언된 변수
- 선언된 블록이 끝나면 메모리에서 제거됨
- 반드시 초기화 후 사용해야 함
public class Main {
public static void main(String[] args) {
int localVar = 10; // 지역 변수
System.out.println(localVar);
}
}
(2) 멤버 변수 (필드, Instance Variable)
- 클래스 내부에서 선언되며, 객체가 생성될 때 메모리에 할당됨
- 객체가 사라질 때까지 유지됨
- 초기화를 하지 않으면 기본값(default value)이 자동 할당됨
class Person {
String name; // 멤버 변수 (기본값 null)
int age; // 멤버 변수 (기본값 0)
}
(3) 클래스 변수 (Static Variable)
- static 키워드가 붙은 변수
- 클래스가 로드될 때 메모리에 단 한 번 할당됨 (모든 객체가 공유)
- 프로그램 종료 시까지 유지됨
class Student {
static int studentCount = 0; // 클래스 변수
Student() {
studentCount++; // 학생 객체가 생성될 때마다 증가
}
}
3. 변수의 데이터 타입
자바의 변수는 기본 자료형(Primitive Type)과 참조 자료형(Reference Type)으로 나뉩니다.
(1) 기본 자료형 (Primitive Type)
자료형 | 크기 | 기본값 | 설명 |
byte | 1 byte | 0 | 작은 정수 저장 (-128 ~ 127) |
short | 2 byte | 0 | 정수 저장 (-32,768 ~ 32,767) |
int | 4 byte | 0 | 기본적인 정수 저장 |
long | 8 byte | 0L | 큰 정수 저장 |
float | 4 byte | 0.0f | 실수 저장 (소수점 7자리) |
double | 8 byte | 0.0 | 실수 저장 (소수점 15자리) |
char | 2 byte | '\u0000' | 유니코드 문자 저장 |
boolean | 1 byte | false | true 또는 false 값 저장 |
예제:
int num = 100;
double pi = 3.1415;
boolean isJavaFun = true;
(2) 참조 자료형 (Reference Type)
- 배열, 클래스, 인터페이스 등 객체를 가리키는 변수
- 기본값은 null
예제:
String message = "Hello, Java"; // 문자열 (String) 참조 변수
int[] numbers = {1, 2, 3, 4, 5}; // 배열 참조 변수
4. 변수의 명명 규칙 (Naming Rules)
변수 이름을 지을 때 다음 규칙을 따라야 합니다.
✅ 사용 가능한 문자
- 알파벳(AZ, az), 숫자(0~9), _(언더스코어), $(달러 기호) 사용 가능
- 숫자로 시작할 수 없음 (❌ 2number → 오류)
✅ 대소문자 구분
- Age와 age는 다른 변수로 인식
✅ 예약어 사용 불가
- int class; ❌ (class는 자바 예약어)
✅ 일반적인 명명 규칙
- 변수명은 소문자로 시작 (studentName, userAge)
- 여러 단어 조합 시 camelCase 사용 (totalCount, maxValue)
- 상수는 대문자와 언더스코어 사용 (final int MAX_VALUE = 100;)
5. 변수의 유효 범위(Scope)와 생명주기
변수는 선언된 위치에 따라 유효 범위가 결정됩니다.
변수 유형 | 선언 위치 | 사용 가능 범위 |
지역 변수 | 메서드 내부 | 선언된 블록 내에서만 사용 가능 |
멤버 변수 | 클래스 내부 | 클래스 전체에서 사용 가능 (객체가 생성되어야 함) |
클래스 변수 | static 키워드 사용 | 모든 객체가 공유, 클래스가 메모리에 로드될 때 생성 |
예제:
class ScopeExample {
int memberVar = 10; // 멤버 변수
public void method() {
int localVar = 20; // 지역 변수
System.out.println(localVar);
}
public static void main(String[] args) {
ScopeExample obj = new ScopeExample();
obj.method();
}
}
6. 변수의 형 변환 (Type Casting)
자바에서는 서로 다른 타입의 변수 간에 값을 변환할 수 있습니다.
(1) 자동 형 변환 (Implicit Casting)
- 작은 크기의 자료형 → 큰 크기의 자료형으로 변환 (데이터 손실 없음)
int num = 10;
double dNum = num; // 자동 형 변환 (int → double)
(2) 강제 형 변환 (Explicit Casting)
- 큰 크기의 자료형 → 작은 크기의 자료형으로 변환 (데이터 손실 가능)
int num = 10;
double dNum = num; // 자동 형 변환 (int → double)
결론
자바에서 변수를 사용할 때는 변수 선언, 초기화, 데이터 타입, 변수 범위 및 형 변환 등을 잘 이해하고 사용해야 합니다. 특히 변수의 유효 범위와 메모리 관리(지역 변수, 멤버 변수, static 변수)를 적절히 활용하는 것이 중요합니다.
728x90
반응형
댓글