JAVA

[JAVA] 변수(variable) 학습

정이뿡뿡 2026. 5. 8. 21:04

목차

  • 변수(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