su-tudy 님의 블로그

02 변수와 자료형 본문

Java/Part 1. 자바 기초

02 변수와 자료형

su-tudy 2024. 7. 1. 19:40

 

🎯 데이터를 다루는 첫걸음

 

프로그램은 결국 데이터를 처리하는 일이다. 사용자 나이를 저장하든, 가격을 계산하든, 이름을 출력하든 모든 데이터는 변수에 담긴다.

자바는 담으려는 데이터 종류에 따라 타입을 미리 지정해야 하기 때문에, 어떤 타입이 있고 각각 어떤 상황에 쓰는지 알아야 한다.

 


💡 핵심 개념 정리

 

변수란?

변수는 데이터를 저장하기 위한 메모리 공간이다. 이름표가 붙은 상자라고 생각하면 된다. 상자의 종류(타입)를 먼저 정하고, 거기에 맞는 값을 넣는다.

// 선언 형태: 타입  변수명  =  초기값;

int age = 25;   // 선언과 동시에 초기화
int count;      // 선언만 (초기화 전에 사용하면 오류)
count = 10;     // 이후에 값 대입

 

▸ 변수명 규칙

규칙 예시
첫 글자는 영문자, _, $ 만 가능 name, _count, $price
두 번째 글자부터는 숫자도 사용 가능 score1
대소문자 구분 ageAge는 다른 변수
예약어 사용 불가 int, class, return
공백 포함 불가 my name myName
관례 : 카멜케이스 사용 studentName, totalScore

 

▸ 변수의 종류 — 선언 위치에 따른 분류

같은 int라도 어디에 선언하느냐에 따라 동작 방식이 달라진다.

종류 선언 위치 특징
클래스 변수 클래스 영역 (static 포함) 모든 객체가 값을 공유. 객체 생성없이 접근 가능.
인스턴스 변수 클래스 영역 (static 없음) 객체마다 별도 저장. 객체를 먼저 생성해야 접근 가능.
지역 변수 메서드, 반복문 블록 안 블록이 끝나면 소멸. 반드시 초기값 설정 후 사용.
매개 변수 메서드 선언부 메서드 호출 시 전달받는 값. 메서드가 끝나면 소멸.

 


✧ 기본형 자료형 8가지

자바의 기본형 자바의 기본형은 정수형, 실수형, 문자형, 논리형 4가지 계열로 나뉜다. 실제 데이터 값이 변수에 직접 저장된다.

 

▸ 정수형

타입 크기 범위 기본값 주요 사용
byte 1 byte -128 ~ 127 0 파일 데이터, 네트워크
short 2 byte -32,769 ~ 32,767 0 거의 사용 안 함
int 4 byte ±21억 0 일반 정수 — 가장 많이 사용
long 8 byte 매우 큰 정수 0L 인구 수, 파일 크기 등 큰 수

 

▸ 실수형

타입 크기 정밀도 기본값 주요 사용
float 4 byte 7자리 0.0f 정밀도가 낮아도 되는 경우
double 8 byte 15자리 0.0 일반 실수 — 권장

 

▸ 문자형 / 논리형

타입 크기 기본값 참고
char 2 byte 0 ~ 65,535 '\u0000' 내부적으로 유니코드(숫자) 저장.
작은따옴표 사용
boolean 1 byte true / false false 조건문, 플래그 변수에 사용
byte    bt = 100;
short   s  = 30000;
int     i  = 1_000_000;        // 숫자에 _ 사용 가능 (가독성)
long    l  = 10_000_000_000L;  // 반드시 L 붙이기

float   f  = 3.14f;            // 반드시 f 붙이기
double  d  = 3.141592;

char    c  = 'A';              // 작은따옴표, 문자 하나만
boolean b  = true;
💡 long은 숫자 끝에 L, float은 f를 반드시 붙여야 한다. 정수 리터럴은 기본적으로 int, 실수 리터럴은 기본적으로 double로 처리되기 때문에 접미사를 빠뜨리면 컴파일 오류가 난다.

 


✧ 참조형 / 자료형

기본형 8가지를 제외한 모든 타입은 참조형이다. 변수 안에 실제 데이터가 저장되는 게 아니라, 데이터가 저장된 메모리의 주소(참조값)가 저장된다.

구분 변수에 저장되는 것 특징
기본형 값 직접 저장 복사하면 값이 완전히 독립된다.
참조형 메모리 주소(참조값) 저장 실제 데이터는 힙(Heap) 메모리에 있고, 변수는 그 위치를 가리킨다.
💡 리모컨이 TV 자체가 아닌 것처럼, 참조형 변수는 데이터를 직접 가진 게 아니라 데이터가 있는 곳을 가리키는 역할을 한다.

 

▸ 참조형의 종류

참조형의 대표적인 종류는 아래와 같다. 각각 해당 편에서 자세히 다룬다.

종류 개념 상세 내용
String 문자열을 저장하는 타입. 문자 여러 개를 이어 붙인 것.  26편
배열 같은 타입의 데이터를 여러 개 묶어서 저장하는 타입 10편
클래스 직접 만든 타입. 속성과 기능을 묶어 새로운 자료형을 정의한 것. 12편
인터페이스 클래스가 반드시 구현해야 할 기능의 틀을 정의한 타입. 22편
열거형(enum) 정해진 상수 값들의 집합을 표현하는 타입 24편

 


📌 헷갈리기 쉬운 포인트

🚨 오류 — 지역 변수는 초기화 없이 사용하면 오류
클래스 변수나 인스턴스 변수는 선언만 해도 기본값으로 자동 초기화된다. 하지만 지역 변수는 반드시 직접 초기화해야 한다.

int x;
System.out.println(x);  // ❌ 컴파일 오류 — 초기화되지 않은 변수

int y = 0;
System.out.println(y);  // ✅ 정상

🚨 오류 — long과 float은 접미사를 빠뜨리면 오류

long l = 10000000000;   // ❌ int 범위를 초과 → 컴파일 오류
long l = 10000000000L;  // ✅ L을 붙여야 long으로 인식

float f = 3.14;   // ❌ double로 인식 → 컴파일 오류
float f = 3.14f;  // ✅ f를 붙여야 float으로 인식

 

'Java > Part 1. 자바 기초' 카테고리의 다른 글

01 자바 언어의 구성  (0) 2024.07.01