본문 바로가기
Java/Java Course

Java 변수와 자료형 완벽 정리

by 코딩 참 쉽죠잉 2026. 7. 13.

 

 

 

 

Java 강좌 · 2 / 30

변수와 자료형

매일 한 챕터씩 배우는 Java 기초 시리즈

intdoubleString=booleanchar변수와 자료형Chapter 02 · Java 기초부터 심화까지

1. 변수란 무엇인가

변수(variable)는 데이터를 저장하는 메모리 공간에 붙이는 이름입니다. Java는 정적 타입 언어이기 때문에 변수를 선언할 때 반드시 어떤 종류의 데이터를 담을지 타입(type)을 함께 지정해야 합니다.

타입 변수이름 = 초기값;

int age = 25;
double price = 9900.5;
String name = "홍길동";
💡 변수 이름은 소문자로 시작하는 카멜케이스(camelCase)를 관례로 사용합니다. 예: userName, totalPrice

2. 기본형(Primitive) 자료형

Java에는 8가지 기본형이 있으며, 각각 고정된 크기의 메모리를 차지합니다. 기본형 변수는 실제 값을 그대로 저장합니다.

타입 크기 설명 예시
byte 1바이트 정수 (-128 ~ 127) byte b = 100;
short 2바이트 정수 short s = 1000;
int 4바이트 정수 (가장 많이 사용) int n = 100000;
long 8바이트 큰 정수 long l = 100000000L;
float 4바이트 실수 (정밀도 낮음) float f = 3.14f;
double 8바이트 실수 (가장 많이 사용) double d = 3.141592;
char 2바이트 문자 하나 char c = 'A';
boolean 1비트 true / false boolean flag = true;
⚠️ long 리터럴에는 뒤에 L, float 리터럴에는 뒤에 f를 붙여야 컴파일 오류가 나지 않습니다.

3. 참조형(Reference) 자료형

기본형을 제외한 모든 타입은 참조형입니다. String, 배열, 클래스, 인터페이스 등이 여기에 속하며, 변수는 실제 데이터가 아니라 객체가 저장된 메모리 주소(참조)를 담습니다.

String greeting = "안녕하세요";
int[] numbers = {1, 2, 3};
Scanner scanner = new Scanner(System.in);

기본형과 달리 참조형 변수의 기본값은 null이며, 아직 어떤 객체도 가리키지 않는다는 뜻입니다.

4. 형변환 (Type Casting)

서로 다른 타입 간에 값을 대입하려면 형변환이 필요할 수 있습니다.

// 자동 형변환 (작은 타입 → 큰 타입)
int intValue = 100;
double doubleValue = intValue; // 100.0

// 명시적 형변환 (큰 타입 → 작은 타입, 정보 손실 가능)
double pi = 3.14159;
int truncated = (int) pi; // 3, 소수점 이하 버려짐
⚠️ 큰 타입에서 작은 타입으로 변환할 때는 데이터가 손실될 수 있으므로 항상 명시적 캐스팅이 필요합니다.

5. 상수: final 키워드

값이 변하지 않아야 하는 변수는 final로 선언합니다.

final double PI = 3.14159;
final int MAX_USERS = 100;

// PI = 3.14; // 컴파일 오류! final 변수는 재할당 불가
💡 상수 이름은 관례적으로 대문자와 언더스코어(SNAKE_CASE)로 작성합니다.

6. 자주 하는 실수

  • 초기화하지 않고 사용: 지역 변수는 초기값이 없으면 컴파일 오류가 발생합니다.
  • 정수 나눗셈 함정: int 끼리 나누면 소수점이 버려집니다. 5 / 22입니다.
  • 오버플로우: int 최대값(약 21억)을 넘으면 예상치 못한 음수가 나올 수 있습니다.
int a = 5, b = 2;
System.out.println(a / b);        // 2 (정수 나눗셈)
System.out.println((double) a / b); // 2.5 (형변환 후 나눗셈)

오늘의 정리

변수 선언 방법, 8가지 기본형과 참조형의 차이, 형변환, final 상수까지 배웠습니다. 다음 챕터에서는 Java의 다양한 연산자(산술, 비교, 논리, 대입 연산자)를 다룹니다.

Java 학습 블로그 · Chapter 2 of 30
반응형