티스토리 뷰

IT/java

[Java 개념] 변수 (variable)

유D니 2019. 4. 6. 17:28

[공부하면서 헷갈렸던 부분, 잊지 말아야 할 부분 등을 정리한 내용으로, 모든 이론적인 내용을 포함하고 있지 않습니다.]

<핵심>

다음은 강사님께서 값에 대해 여러번 강조하신 내용과 그 내용을 설명하기 위한 예시이다.

    1. 모든 값에는 타입이 있다.

    2. 타입을 모르면 값을 알 수 없다.

 

어떤 사람이 죽기 직전 1004라는 다잉메세지를 남겼다. 이 다잉메세지는 다음의 의미를 가질 수 있다.

1.  별명이 천사인 사람이 범인이다.
2. 같은 아파트 1004호에 사는 사람이 범인이다.
3. 자동차 번호가 1004인 차량의 소유주가 범인이다.
4. 생일이 10월 4일인 사람이 범인이다.


우선은 4개의 예시를 들었지만 더 많은 뜻을 유추할 수 있다.  만약에 이 사람이 다잉메세지 "1004"에 자동차 번호라는 내용을 함께 적었을 경우 이 메세지는 위 내용 중 3번의 의미를 확실하게 가지게 된다.

이처럼 값에 대한 정확한 타입을 표시해야지만 그 값이 무엇인지 정확하게 알 수 있게 된다.

 

<두 변수의 값 교환>

두 변수가 있을 때 값을 교환하려면 어떻게 해야 할까?

> 잘못된 방법의 예

           int x = 10;
           int y = 20;

           x = y;        
           y = x;         

 

y값을 x에 저장하면 기존에 있던 x의 값은 사라지기 때문에 x의 값을 y에 저장해도 소용이 없다.

x의 값이 사라지는 것을 막기 위해 하나의 임시 저장소를 만들어 이용하면 된다.

 

> 올바른 방법의 예

           int x = 10;
           int y = 20;
           int tmp;     //임시저장소 역할을 하는 변수 tmp

           tmp = y;
           y = x;
           x = tmp;

 

 

 

 

y의 값을 tmp에 저장한다.        -->        x에 접근하지 않기 때문에 x의 값에는 변함이 없다.
x의 값을 y에 저장한다.             -->        y의 값은 tmp에 저장되어 있기 때문에 y값이 사라져도 괜찮다.
tmp의 값을 x에 저장한다.        

결과적으로 변수 x와 변수 y는 서로의 값을 교환하게 된다.  


** 두 개의 값을 교환하려면 하나의 임시 저장소(변수)를 만들어 값을 교환하면 된다 ** 

 

변수에 대한 내용은 여기까지 정리하겠습니다.

틀린 내용, 다른 의견이 있을 경우 댓글 남겨주시면 확인 후 수정하도록 하겠습니다.

그럼 이만 뿅🤗!

댓글