너와 나의 개발 고리

[JAVA] chap02 변수와 타입_변수 선언 본문

JAVA/이것이 자바다

[JAVA] chap02 변수와 타입_변수 선언

Oli-Viaaaa 2023. 8. 2. 17:55

컴퓨터 메모리(RAM)는 수많은 번지들로 구성된 데이터 공간이다.

변수는 하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름으로 변수를 통해 프로그램은 번지에 값을 저장하고 읽을 수 있다.

 

 

변수 = 하나의 값을 저장할 수 있는 메모리 번지에 붙여진 이름

 

 

자바의 변수는 다양한 타입의 값을 저장할 수 없다.

정수형 변수에는 정수값만, 실수형 변수에는 실수값만 저장이 가능하다.

 

변수를 사용하기 위해선 변수 선언이 필요하다.

변수 선언은 어떤 타입의 데이터를 저장할 것인지 그리고 변수 이름은 무엇인지를 결정한다.

 

변수 이름은 첫 번째 글자가 문자여야 하며 중간부터는 문자, 숫자, $, _를 포함할 수 있다.

또한 첫 번째 문자를 소문자로 시작하되 *캐멀 스타일로 작성하는 것이 관례다.

 

  ※ 캐멀(camel) 스타일

  코드를 작성할 때 여러 단어를 혼합하여 명명하는 경우 낙타의 등처럼 대소문자가 섞여있도록 작성하는 스타일을 말한다.
  자바 소스 파일명과 변수명을 작성할 때 관례적으로 사용한다.

  1. 자바 소스 파일명(클래스명)은 대문자로 시작하는 것이 관례
      Week.java
      MemberGrade.java
      ProductKind.java

  2. 변수명은 소문자로 시작하는 것이 관례
      score
      mathScore
      sportsCar

 

 

변수가 선언되면 값을 저장할 수 있는데 이때 대입 연산자인 =를 사용한다.

수학에서 등호(=)는 '같다'는 의미지만 자바에서는 우측 값을 좌측 변수에 대입하는 연산자로 사용된다.

변수 선언은 저장되는 값의 타입과 이름만 결정한 것이지 아직 메모리에 할당 된것은 아니다.

변수에 최초로 값이 대입될 때 메모리에 할당되며, 해당 메모리에 값이 저장된다. 

 

변수의 값에 최초로 값을 대입하는 행위를 변수 초기화라고 하며 이때의 값을 초기값이라고 한다.

초기값은 변수를 선언함과 동시에 대입할 수도 있다.

int score = 90;

 

초기화되지 않은 변수는 아직 메모리에 할당되지 않아 변수를 통해 메모리 값을 읽을 수 없다.

int value;			// 변수 value 선언
int result = value + 10;	// 변수 value 값을 읽고 10을 더햇서 변수 result에 저장

 

위의 코드 중 value가 선언되었지만 초기화되지 않았기 때문에 value+10에서 value 변수값을 읽어올 수 없다.

변경하면 아래와 같다.

int value = 30;		// 변수 value가 30으로 초기화 됨
int result = value+10;	// 변수 value 값(30)을 읽고 10을 더해서 result에 저장

 

아래의 예제는 초기화되지 않은 변수를 연산식에 사용할 경우 컴파일 에러가 발생하는 것을 보여준다.

 

 

변수는 출력문이나 연산식에 사용되어 변수값을 활용한다. 

아래 예시는 문자열과 결합 후 출력하거나 연산식에서 활용하는 모습을 보여준다.

 

변수는 또 다른 변수에 대입되어 메모리 간에 값을 복사할 수 있다.

 

1~3번 내용을 순서대로 정리해보면 아래와 같다.