본문 바로가기
IT/JAVA

Java 변수와 자료형 이해

by ohukohoh 2025. 2. 19.
728x90
반응형

Java는 강타입(Strongly Typed) 언어로, 변수를 선언할 때 명확한 자료형(Data Type)을 지정해야 합니다. 변수는 데이터를 저장하는 메모리 공간을 의미하며, Java의 자료형은 크게 **기본 자료형(Primitive Type)**과 **참조 자료형(Reference Type)**으로 나뉩니다. 이번 글에서는 Java의 변수와 자료형에 대해 자세히 알아보겠습니다.


1. Java 변수란?

변수의 개념

  • 변수를 통해 데이터를 저장하고, 필요할 때 값을 변경하거나 읽을 수 있음
  • 변수를 선언할 때 자료형 + 변수명을 지정해야 함

변수 선언 방법

자료형 변수명 = 값;

예제:

int age = 25;
String name = "John";

2. Java 자료형 (Data Types)

Java의 자료형은 **기본 자료형(Primitive Types)**과 **참조 자료형(Reference Types)**으로 나뉩니다.

1) 기본 자료형 (Primitive Types)

기본 자료형은 Java에서 미리 정의된 데이터 유형으로, 총 8가지가 존재합니다.

자료형크기기본값설명

byte 1 byte 0 작은 정수 ( -128 ~ 127 )
short 2 byte 0 중간 크기 정수 (-32,768 ~ 32,767)
int 4 byte 0 일반적인 정수형 (-2,147,483,648 ~ 2,147,483,647)
long 8 byte 0L 큰 범위의 정수 값 저장 가능
float 4 byte 0.0f 소수점을 포함하는 실수 (정확도 낮음)
double 8 byte 0.0d 소수점이 있는 실수 (정확도 높음)
char 2 byte '\u0000' 단일 문자 (예: 'A')
boolean 1 bit false 참(true) 또는 거짓(false)

기본 자료형 예제:

byte a = 10;
int b = 100;
float c = 5.75f;
double d = 19.99;
boolean e = true;
char f = 'A';

2) 참조 자료형 (Reference Types)

참조 자료형은 객체를 참조하는 변수로, 배열(Array), 클래스(Class), 인터페이스(Interface) 등이 포함됩니다.

자료형 설명
String 문자열 저장을 위한 참조 자료형
Array 여러 개의 같은 유형 데이터를 저장
Class 사용자 정의 데이터 타입
Interface 클래스의 행동을 정의하는 타입

참조 자료형 예제:

String message = "Hello, Java";
int[] numbers = {1, 2, 3, 4, 5};

3. 변수의 종류 (Scope)

1) 지역 변수 (Local Variable)

  • 메서드 내부에서 선언되고, 해당 메서드가 실행되는 동안만 존재
public void printAge() {
    int age = 30; // 지역 변수
    System.out.println(age);
}

2) 인스턴스 변수 (Instance Variable)

  • 클래스 내부에 선언되며, 객체가 생성될 때 메모리에 할당됨
class Person {
    String name; // 인스턴스 변수
}

3) 클래스 변수 (Static Variable)

  • static 키워드가 붙으며, 모든 객체가 공유하는 변수
class Example {
    static int count = 0; // 클래스 변수
}

4. 변수의 기본 규칙

변수 명명 규칙

  • 영문자(A-Z, a-z), 숫자(0-9), 언더스코어(_), 달러 기호($) 사용 가능
  • 숫자로 시작할 수 없음 (예: 1number ❌)
  • Java 키워드(예: int, class)는 변수명으로 사용할 수 없음
  • 명확한 의미를 가지는 변수명 사용 (예: totalPrice ✅, tp ❌)

상수 선언 (final 키워드 사용)

  • final 키워드를 사용하여 값을 변경할 수 없는 상수를 선언할 수 있음
final double PI = 3.141592;

5. 자동 형변환과 강제 형변환

1) 자동 형변환 (Implicit Casting)

  • 작은 크기의 자료형이 큰 크기의 자료형으로 변환될 때 자동으로 변환됨
int num = 10;
double d = num; // int → double 자동 변환

2) 강제 형변환 (Explicit Casting)

  • 큰 크기의 자료형을 작은 크기의 자료형으로 변환할 때 (자료형)을 사용해야 함
double d = 9.78;
int num = (int) d; // double → int 강제 변환

결론

Java에서 변수는 데이터를 저장하고 활용하는 중요한 요소이며, 자료형을 정확히 이해하는 것이 효율적인 프로그래밍의 첫걸음입니다. 기본 자료형과 참조 자료형을 명확하게 구분하고, 변수의 스코프와 형변환 개념을 잘 활용하면 더욱 안전하고 강력한 Java 프로그램을 개발할 수 있습니다. 🚀

728x90
반응형