이론을 싫어!

[java] 변수가 무엇일까? 본문

java

[java] 변수가 무엇일까?

이론을 싫어! 2023. 2. 27. 13:47
반응형

우리가 보통 변수라고 하면 '변하는 수' 라고 표현을 한다. 

 

틀린 말은 아니지만 개발자는 좀 고급스러운 말을 써주는것이 좋기 때문에 

 

"하나의 값 또는 데이터를 저장할수 있는 메모리 공간이다"

 

조금 해석을 하자면 메모리 공간은 아파트라고 생각하면 좋을것이다. 

 

101호 부터 1204호 까지 있다고 가정하면 각 호실에 값 또는 데이터를 넣어서 저장할수 있는 것을 변수라고 부른다.

 

 

그러면 변수는 왜 사용할까?

 

프로그램을 하면서 수시로 값이나 데이터가 변동이 될수 있기 때문이다.

 

좀더 쉽게 예를 들어서  통장에 1000원이 있다고 가정 하자. 

 

부모님께 용돈 10000원을 받아서 통장에 넣게 되면 통장의 잔액은 11000원이 된다. 

 

이러한 것처럼 값이 고정이지 않고 어떠한 행동이나 상황에 따라서 값이 변동이 되거나 데이터가 변동되는것을 변수라고 한다 .

 

 

 

변수 선언 + 변수 초기화 하는 법 

 

변수 선언을 하기 전에 먼저 알아야 하는것이  데이터 타입이다. 

 

  • 정수형 
데이터 타입  크기 
byte 1 byte
short 2byte
int  4byte
long 8byte

 

  • 실수형 
데이터 타입  크기 
float  4 byte
double 8byte

 

문자형 

데이터 타입 크기
char 2 byte

논리형 

데이터 타입  크기 
boolean 1byte

 

 

데이터 타입이란 무엇인가?? 

 

컴퓨터에서 변수를 만들 때 반드시 지정해줘야 하는 것으로, 변수 선언시 데이터 타입의 크기에 맞는 공간이 메모리 상에서 할당되어 데이터의 저장이 가능하다. 

 

 변수를 선언 을 할 때는 선언하기 위한 순서가 있다. 

 

첫번째는  데이터 타입을 먼저 앞에 적어줘야 하고 

 

두번째는 변수명을 적어준다 .

 

그리고 마지막으로 들어갈 데이터의 값을 넣어준다.

 

1
2
3
4
5
6
 
   // int -> 데이터 타입 
   // a ->변수명 
   // 10 -> 값 (데이터) 
 
   int a = 10;
cs
\\

위의 코드를 보면 선언을 하고 난뒤 초기화를 해준것이다. 

 

초기화?? 초기화가 저기에 어디에 있어?? 라고 생각할수도 있는데 

 

처음에 변수를 선언한뒤에 데이터의 값을 넣어주는것이 초기화이다.

 

초기화를 해주지 않으면 초기화를 해주지 않았다고 컴파일 할때 에러를 내거나 

 

혹은 쓰레기 값이 들어가 있어서 값이 바뀔수 있다.

 

좀더 설명을 하면 데이터 타입을 정해주는 이유는 

 

스스로 판단을 하지 못하기 떄문이다. 

 

int a =10; 을 한국말로 해석을 하면

 

" 컴퓨터야 너 메모리에 4 byte짜리 정수형(int) 만 담을수 있는 공간을 만들어줘 ~ 

 

아 그리고 나는 그것을 나중에 부르게 쉽게 별명을 a 라고 부를거고 그 공간에 10을 넣어줘~ " 

 

라고 생각하면 된다. 

1
2
3
4
5
6
7
8
9
 
public static void main(String[] args) {
 
  int  a1, a2, a3;
  int  b1, b2, b3 = 300;
  double c1 = 4.12;
  boolean d1= true ;
    
 }
cs

또한 위의 코드 처럼 여러개의 변수 선언도 가능하다. 

 

여기서 5번 줄을 보게 되면 변수 3개를 선언후 300 이라는 값을 넣어주었다.

 

그러면 변수 3개 모두 300 이 들어가는 것이 아니라 , b3의 변수에만 300의 값이 들어가 있고 

 

b1, b2의 변수는 초기화가 되지않은 상태로 유지가 되어져있다.

 

만약에 b1, b2 , b3의 변수에 모두 300의 값을 넣고 싶다면 

 

int  b1= 300, b2=300, b3 = 300;

 해줘야 한다.