0417_05 자바 변수(Variable) 완벽 이해하기

0417_05 자바 변수(Variable) 완벽 이해하기


변수(Variable) 란?


1) 데이터이 저장과 참조를 위해 할당된 메모리 공간

2) 단 하나의 값을 저장할 수 있는 공간


실제로 메모리 할당은 운용체제가 하지만 자바 언어에게 어떻게 요청하면 자바가 운용체제에게 요청

우리는 자바에게 어떻게 하는가에 대한 방법만 알고 있으면된다.(코딩)


* 변수명 지정 규칙

1) 숫자로 시작 불가 : num10은 사용가능하지만 10num은 사용할 수 없다

2) 예약어(키워드) 사용금지 : true는 예약어 이기 때문에 사용할 수 없으나 True는 사용할 수 있다

3) 특수문자는  ' _ ' 와 ' $ '만 사용 가능 : _tree 또는 $tree는 사용 가능하나 #tree는 사용할 수 없다

4) 공백이 포함될 수 없다

5) 대소문자 구별한다 : Tree 와 tree는 서로 다른 것으로 간주한다.


* 권고사항

1) 모두 대문자만으로 생성은 지양한다

2) 생략형

3) 카멜 / 파스칼 / 헝가리어 표기법 사용 권장

3-1) 카멜(Camel) : variableNameTest

소문자를 기본으로 사용하되 구분되는 단어를 대문자로 연결하는 방식이다. 첫 단어의 첫 글자는 소문자를 사용한다. 자바에서 보통 사용하는 방식이다.

    

3-2) 파스칼(Pascal) : Variable_Name_Test

파스칼 또한 카멜과 같이 소문자를 기본으로 사용하되 구분되는 단어를 대문자로 연결하는 방식이다. 첫 글자도 대문자를 사용한다는 점이 카멜과의 차이점이다.


3-3) 헝가리어 : intVariable_Name_Test

int자료형 + variable + name + test : intVariable_Name_Test

Miscrosoft의 헝가리인 개발자가 사용하던 변수명 규약이다. 변수의 자료형을 변수명의 접두어로 붙이는 방식이다. 예를 들어 int형의 'number'라는 변수를 선언하고자 할 때 'intNumber'라고 정의하는 방법이다. 최근들어 IDE의 발달로 인해 변수에 마우스 커서만 가져다대도 행당변수의 각종 정보를 툴 팁형태로 보여주는 기능을 지원해주고 있어 따로 헝가리안 표기법을 사용하는 것이 프로젝트의 진행 효율성을 이끌어 낼 수 있다고보기는 어려울 것이다.



package exam01;


public class DefineVariable {

    public static void main(String[] args) {

        // 5489 + 9527 = ?

        // System.out.println(5489 + 9527);


        // int는 사용자가 자바에게 메모리 할당을 요청하는 키워드이다.

        // 앞으로는 메모리 관리도 자바가 한다고 생각하고 진행하자. 실제로는 운용체제가 메모리를 관리하지만 자바가 관리한다고 생각해도 문제가되지 않기 때문에 자바라고 해도 무관하다

         

         // (1) 변수 선언 (메모리 할당(확보) 요청)

         int data1;  // 변수이름을 붙여준다

         int data2;

         

         //(2) 메모리 접근 방법(데이터 저장

         // 초기화 : 변수를 생성해 주고 제일 처음 값을 입력해 주는 것을 초기화 해준다고 표현한다.

         data1 = 5489;  // 초기화 = 는 오른쪽에 있는 값을 왼쪽으로 대입(저장)하라는 연산자이다

         data2 = 9527;       

         

        //(3) 메모리 접근 방법(데이터 읽어오기)

         System.out.println(data1);

         System.out.println(data2);

         // 연산자 사용

         System.out.println(data1 + data2);

         

         System.out.println(data1 - data2);

         System.out.println(data2 - data1);

         System.out.println(data1 * data2);

         System.out.println(data1 / data2);

         System.out.println(data2 / data1);


         5489

         9527

         15016

         -4038

          4038

          52293703

          0  // 나눌수 없음

          1  // 몫이 1 나머지...


      

         data1 + data2; // 값을 돌려받을 방법이 없어서 error 

 System.out.println(data1+data2); // 모니터로 출력

 int result;  // 메모리 할당 요청

 result = data1 + data2; // 다른 공간에 저장해라   

         System.out.println(result);

         

         15016

         15016


         data1 = 6000;  // 동일한 메모리에  새로운 값을 입력할 수 있다. 이전에 값은 버려버리고 새로운 값을 받아 드린다. 변수는 재사용이 가능하다

         System.out.println(data1 + data2);  // data1에 6000 이 저장되어 실행된다, 변수는 값이 변할 수 있다라는 개념으로 변수라고 명칭하는 것이다.

        

         15527






        

  }

}



댓글

Designed by JB FACTORY