공부하는 JAVA

JAVA 독학 05 - 변수와 타입 이해하기

놀기왕라키 2022. 4. 28. 15:23
반응형

변수(variable)는 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름입니다. 프로그램은 변수를 통해 메모리의 특정 번지에 값을 저장하고 읽을 수 있습니다.

하나의 변수에 동시에 두 가지 값을 저장할 수 없고, 하나의 값만 저장할 수 있습니다.

 

변수 선언
int name;
double weight;
  • 정수(int)를 저장할 수 있는 name 변수 선언
  • 실수(double)를 저장할 수 있는 weight 변수 선언
  • 타입은 변수에 저장되는 값의 종류와 범위를 결정짓는 요소이기 때문에 신중히 결정.
  • 같은 타입의 변수는 콤마(,)를 이용해 한번에 선언할 수 있습니다.
    ex) int x, y, z;
값 저장

변수에 값을 저장할 때에는 대입연산자(=)를 사용합니다.

int score;
score = 100;

또는 

int score = 100;

변수에 최초로 값이 저장될 떄 변수가 생성됩니다. 이것을 변수 초기화라고 합니다. 

초기화되지 않은 변수는 아직 메모리 번지 정보를 가지고 있지 않으므로 변수를 통해 메모리값을 읽을 수 없습니다.

잘못된 예시)
int value;
int result = value + 10;

1라인에서 변수 value가 선언되었지만 초기화되지 않았기때문에 value 변수는 존재 하지않습니다.

이 경우는 컴파일 에러가 발생합니다.

위 사진과 같이 콘솔뷰에 해당 에러가 표시됩니다.

 

변수 사용

변수는 출력문이나 연산식 내부에서 변수에 저장된 값을 출력하거나 연산할 때 사용합니다.

위에서 부터 차례대로

변수 hour 에 3 저장
변수 minute 에 5 저장
hour "시간" + minute "분" 출력

변수 totalMinute 에 (hour*60) + minute 저장
"총" + totalMinute + "분+ 출력

 

  • 변수는 또 다른 변수에 대입하여 값을 복사할 수 있습니다.

int x =3;
int y = 5;

int temp = x; //변수 temp 에 3 저장
x = y; //변수 x에 5 저장
y = temp; //변수 y에 3 저장

 

변수 사용 범위

자바의 모든 변수는 중괄호 { } 블록 내에서 선언 되고 사용됩니다.

메소드 블록 내에서 선언된 변수를 로컬 변수(local variable)라고 부르는데,

로컬 변수는 메소드 블록 내에서만 사용되고 메소드 실행이 끝나면 메모리에서 자동으로 없어집니다.

 

메소드 블록 내에 다른 중괄호 { } 블록들이 작성될 수 있습니다. 예를 들어

 

조건문에 해당하는 if

반복문에 해당하는 for, while 등이 중괄호 블록을 가질 수 있습니다.

이러한 중괄호 블록내에서 선언된 변수는 해당 중괄호 블록 내에서만 사용가능하고 밖에서는 사용할 수 없습니다.

따라서 변수를 선언할 때에는 주의사항이 있습니다.

  • 메소드 블록 전체에서 사용하고 싶다면 메소드블록 첫머리에 선언합니다.
  • 특정 블록 내부에서만 사용된다면 해당 블록 내에 선언합니다.
반응형