본문 바로가기
Java

자바 변수 완벽 가이드

by 글쓰니˚ 2025. 2. 15.
반응형

자바 변수 완벽 가이드

 

안녕하세요! 😊 오늘은 자바 변수(Variable)에 대해 알아보겠습니다. 자바에서 변수를 이해하는 것은 프로그래밍의 기본이며, 데이터를 저장하고 관리하는 데 필수적인 개념입니다. 이번 글에서는 변수의 선언과 초기화, 종류, 데이터 타입, 명명 규칙, 유효 범위, 형 변환까지 자세히 다뤄보겠습니다. 그럼 시작해볼까요? 🚀

 

목차

 

자바 변수(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
반응형

댓글