목차
- 변수(variable)에 대해서
- 자료형(data type)이란?
- 형변환(casting)이란?
변수 (variable) 란?
- 변수란 데이터를 컴퓨터에 저장하기 위한 공간입니다.
ex) 공구는 공구함에 연필은 연필통에 넣는것처럼 도구를 활용하고 보관하기 위해 담는 상자라고 이해하시면 쉽습니다! - JAVA에서도 데이터를 활용하고 보관하기 위해서 "변수"에 담아 관리 합니다.
ex) 공구가 필요하면 공구함에서 꺼내 쓰듯이 컴퓨터에도 나에게 필요한 데이터를 편하게 꺼내 쓸수있게 보관합니다. - JAVA에서도 이 데이터들은 메모리(RAM)에 저장이 됩니다.
- 변수는 실행중에 값이 변경 될수있습니다.
반대되는 정의는 상수인데 이건 다음번에 포스팅을 하도록 하겠습니다~! - JAVA의 데이터타입은 크게 '기본형'과 '참조형'으로 나뉘는데 두가지를 통틀어 '자료형(data type)' 라고 합니다.
변수의 구조
[자료형] [변수이름][세미콜론]
예시 : int a;
// [자료형]과 [변수이름] 사이에는 꼭 띄어쓰기를 해야한다.
//[세미콜론]은 JAVA에서 문장을 끝내는 마침표 역할을 한다.
//[세미콜론]이 없다면 컴퓨터는 문장이 끝난건지 아닌건지 헷갈려해서 오류가 나는 경우가 많다.
// ← 슬래쉬 2개는 '주석'이라고 하는데 이 처럼 메모를 할때 쓰는 역할이다.
변수이름 규칙
올바른 변수명은 프로그램의 유지보수를 위해 잘 지켜야해요~!
가독성을 위해 카멜케이스를 권장하고 있으며, 명사 형태로 사용하는것이 좋습니다.
특수문자 또한 사용금지!
(카멜케이스가 뭔지 모르시는 분들은 2026.05.08 - [JAVA] - JAVA 프로젝트 관리 을 참고하시면 됩니당~!)
| 규칙 | 나쁜예시 | 좋은예시 |
| 숫자로 시작할 수 없음 | ❌1stCat | ✅Cat1 |
| 공백 사용 불가 | ❌my cat | ✅myCat |
| 예약어 사용 불가 | ❌class, true, etc... | |
| 특수문자 ('_'언더바,'$'달러) 제외 사용불가 | ❌~!@사용불가 |
변수활용
1.문법 : 변수 선언
데이터 저장 공간을 만드는것을 '변수를 선언한다' 라고 합니다.
하나씩만 선언해 줄수도 있고 ,을 사용해서 여러개를 한번에 선언해주는 것도 가능합니다~!

예시
int a;
int b,c;
2. 문법 : 변수에 값 할당
a라는 변수는 이미 선언 되어있으니 a 변수에 값을 할당해 볼게요!
//a 는 변수이름 ( variable)
//1 은 리터럴 (litteral)
a = 1;
//리터럴이란? 변수 안에 직접 '넣는 값' 을 의미합니다
3. 문법 : 선언과 동시에 값 할당
변수를 선언하면서 동시에 값을 할당해 줄 수 있습니다.
예시
int c = 3;
//이렇게 데이터를 초기값에 설정하는것을 초기화(initialization) 이라함
4. 문법 : 기존 변수에 데이터 재할당 (reassign)
변수는 말 그대로 변하는 수 이기에 재사용 될 수 있습니다.
기존 변수에 값을 재할당하게 되면 값이 덮어씌워집니다.
예시)

보시다시피 프로그램은 한줄 한줄 한줄 실행이 되는데,
마지막에 들어간 값으로 덮어씌워진다고 생각하시면 됩니다~!
5. 문법 : 변수에 변수를 할당
변수에 직접 미리 선언된 변수를 할당할수도 있습니다.
데이터가 복사되어 할당 됩니다.

이해가 어려우신 분들을 위해 추가 설명을 하자면,
d 라는 공간에 데이터 1을 넣어보았습니다. 동시에 선언하면서 값을 할당해준건데요~
근데 e 라는 변수를 만들고 d라는 데이터를 넣으면, e라는 공간에는 1이 들어가게 됩니다.
마지막 d에 10 을 넣었지만 e 라는 상자안에는 끝까지 숫자 1이 남아있게 되요~
데이터가 복사 된다고 생각하시면 조금더 쉬울것 같습니다 :)
자료형(DataType)란?
- 자료형은 상자에 담을 수 있는 데이터의 크기를 결정하는 규칙입니다.
ex) 도구나 선물을 포장할때 알맞은 크기의 상자를 활용한다 생각하시면 편합니다 - Java에서는 사용빈도가 높은 자료형을 미리 정해 놓았습니다. (글 하단에 보시기 쉽게 정리해두었습니다)
- 변수이름 으로는 데이터의 위치를 표현하고
- 자료형 으로는 데이터의 크기를 표현합니다
| 자료형 | 종류 | 범위 | 바이트 | 비트 |
| boolean | 논리형 | true / false | 1 | 8 |
| char | 문자형 | 0 ~ 65535 유니코드 값 | 2 | 16 |
| byte | 정수형 | -128 ~ 127 | 1 | 8 |
| short | 정수형 | -32,768 ~ 32,767 | 2 | 16 |
| int | 정수형 | -2,147,483,648 ~ 2,147,483,647 | 4 | 32 |
| long | 정수형 | -9,233,372,036,854,775,808 ~ 9,233,372,036,854,775,807 | 8 | 64 |
| float | 실수형 | 약 소수점 6~7 자리까지 | 4 | 32 |
| double | 실수형 | 약 소수점 15 ~ 17 자리까지 | 8 | 64 |
이렇게 표로만 보려니 이해가 안되실텐데요~
하단에 형변환에 대해 설명후, 실제로 적용한 코드를 보여드리며 쉽게 이해시켜드릴게요!
너무 걱정마세효~!!😘
형변환(Casting) 이란?
- 형 변환은 변수의 자료형을 다른 자료형으로 변경하는 것을 의미 합니다.
업캐스팅(UpCasting) 과 다운캐스팅( DownCasting) 방식이 있습니다.
| 형 변환 종류 | 형변환 방식 | 자동 형 변환 여부 | 설명 |
| 다운캐스팅( DownCasting) | 명시적(Explicit) | ❌ | 큰상자에서 작은상자로 |
| 업캐스팅(UpCasting) | 묵시적(Implicit) | ✅ | 작은상자에서 큰상자로 |
자! 그러면 실제로 적용한 코드들을 하나씩 알려드릴게요~!
위에 알려드린 구조 잊지마시고!
[자료형] [변수이름][세미콜론] 순서대로 입력한 값입니다.
마지막 //(주석) 에는 추출된 값을 적었습니다.
1. 정수형 int
//정수형
int a;
a = 1;
a = 2;
System.out.println("a = " + a);
// a = 2
2. 논리형 boolean
//논리형
boolean booleanBox = true;
booleanBox = false;
System.out.println("booleanBox = " + booleanBox);
//booleanBox = false
3.문자형 char
//문자형(문자형을 표현할땐 앞뒤에 따옴표''문자형에는 문자 하나만@)
char charBox = 'a';
charBox = 'b';
System.out.println("charBox = " + charBox);
//charBox = b
4.큰 정수형 long
//큰 정수형
long longBox = 1;
longBox = 2;
System.out.println("longBox = " + longBox);
//longBox = 2
5. 실수형 float
//실수형 (소수점) float는 뒤에 꼭 f를 붙혀줘야함 안그럼 double형으로 인식을함
float floatBox = 0.12345678f;
floatBox = 0.1234567890f;
System.out.println("floatBox = " + floatBox);
//floatBox = 0.12345679
6.실수형 double
double doubleBox = 0.1234567890;
System.out.println("doubleBox = " + doubleBox);
//doubleBox = 0.123456789
📍 여기서 잠깐!! float 와 double 는 같은 실수형인데 차이가 뭘까? 하는 의문점이 안드시나요?!
일단 메모리 크기(4 vs 8바이트), 정밀도(7 vs 15~16자리), 표현 범위에서 차이가 납니다.
그래서 보통 double이 기본형이며 더 정밀하여 일반적으로 사용되고, float는 메모리 절약이 필요할 때 사용됩니다.
그래서 위의 결과값을 보시면 float에는 8이 생략 된게 보이실까요?! 요 차이만 알고 계시면 됩니당ㅎㅎ
7. 다운캐스팅( DownCasting)
//다운캐스팅 : 큰 데이터를 > 작은상자에 넣는것
//(형변환필수므로 ()에 뭐로 변경할지 값을 입력해야 오류가 안생김
// ex : double bigBox = 10.123;
// int smallBox = bigBox;
//를 입력하면 오류가생김
//큰데이터를 작은상자에 넣었기 때문에 0.123 이라는 데이터가 손실됨
double bigBox = 10.123;
int smallBox = (int) bigBox;
System.out.println("smallBox = " + smallBox);
//smallBox = 10
8. 업캐스팅(UpCasting)
//업캐스팅 : 작은데이터를 > 큰상자에 넣는것
//반면 업캐스팅은 크기가 넉넉하기때문에 굳이 형변환 필요 X
//반면 큰상자로 옮겼기때문에 데이터손실이 없고 0.0이라는 추가데이터가 생성됨
int smallBox2 = 10;
double bigBox2 = smallBox2;
System.out.println("bigBox2 = " + bigBox2);
//bigBox2 = 10.0
📌실무에서 많이 쓰이는 변수📌
int : 정수형
double : 실수형
String : 문자열 (가장 많이 사용)
//문자데이터(char)은 ''홀따옴표, 대신 문자열데이터는 ""쌍따옴표
char a1 = 'a';
String str = "안녕하세요!";
boolean :논리형
대부분의 경우 이 4개를 중심으로 사용한다.
이렇게 오늘 변수를 정리 해보았습니다~!
모르시거나 이해가 안되시는 부분은 댓글 남겨주시면 알려드리겠습니다~ :)
'JAVA' 카테고리의 다른 글
| [JAVA] 조건문 (If, If- else, Else if,switch- case) 학습 (0) | 2026.06.02 |
|---|---|
| [JAVA] 연산자(operator) 학습 (2) | 2026.05.18 |
| [JAVA] 입력(InPut)과 출력(OutPut) 학습 (0) | 2026.05.18 |
| [JAVA] 프로젝트 관리 (0) | 2026.05.08 |
| [JAVA] JAVA에 대해 (0) | 2026.05.08 |