카테고리 없음

[Java의 정석] Ch.02 변수 (Variable)

Dev_Green 2022. 10. 29. 14:51
"남궁성, 『Java의 정석』" 을 읽고 정리한 내용입니다.

 

1. 변수

변수란

"변수란 단 하나의 값을 저장할 수 있는 메모리 공간."

 

변수의 선언과 초기화

  • 변수를 사용하려면 먼저 변수를 선언해야 한다
int age; // (변수 타입) (변수 이름)
  • 변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 알맞은 크기의 저장공간이 확보되고, 앞으로 이 저장공간은 '변수이름'을 통해 사용할 수 있게 된다.
  • 변수를 선언한 이후에는, 반드시 변수를 '초기화'해야 한다. 
  • 초기화란 변수를 사용하기 전에 처음으로 값을 저장하는 것.

 

변수의 명명 규칙

  • 대소문자가 구분되며 길이에 제한이 없다
  • 예약어를 사용해서는 안된다
  • 숫자로 시작해서는 안된다
  • 특수문자는 '_'와 '$'만을 허용한다

 

2. 변수의 타입

기본형과 참조형

기본형(primitive type)
    - 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double)
    - 계산을 위한 실제 값을 저장. 모두 8개

참조형(reference type)
    - 객체의 주소를 저장. 8개의 기본형을 제외한 나머지 타입

  참조형 변수를 선언할 때는 변수의 타입으로 클래스의 이름을 사용하므로 클래스의 이름이 참조변수의 타입이 된다. 그래서 새로운 클래스를 작성한다는 것은 새로운 참조형을 추가하는 셈이다.

 

2.1 기본형(primitive type)

기본형의 종류와 크기

  1 byte 2 byte 4 byte 8 byte
논리형 boolean      
문자형   char    
정수형 byte short int long
실수형     float double

* 굵게 표시된 것은 기본 자료형(default data type). 정수형에서는 int, 실수형에서는 double이 기본 자료형.

 

  저장 가능한 값의 범위 bit byte
byte -2^7 ~ 2^7 - 1 8 1
short -2^15 2^15- 1 16 2
int -2^31 ~ 2^31 - 1 32 4
long -2^63 ~ 2^63 - 1 64 8

 

2.2 상수와 리터럴(constant & literal)

상수는 변수와 마찬가지로 '값을 저장할 수 있는 공간'이지만, 변수와 달리 한번 값을 저장하면 다른 값으로 변경할 수 없다.

선언 방법은 변수의 타입 앞에 키워드 'final'을 붙여주면 된다.

그리고 상수는 반드시 선언과 동시에 초기화해야 하며, 그 후부터는 상수의 값을 변경하는 것이 허용되지 않는다.

상수의 이름은 모두 대문자로 하는 것이 암묵적인 관례이며, 여러 단어로 이루어져 있는 경우 '_'로 구분한다.

final int MAX_SPEED = 100;

 

리터럴

원래 12, 3.14 와 같은 값들이 '상수'인데, 프로그래밍에서는 상수를 '값을 한번 저장하면 변경할 수 없는 저장공간'으로 정의하였기 떄문에 이와 구분하기 위해 상수를 다른 이름으로 불러야만 했다. 그래서 상수 대신 리터럴이라는 용어를 사용한다. 

종류 의미
변수(variable) 하나의 값을 저장하기 위한 공간
상수(constant) 값을 한번만 저장할 수 있는 공간
리터럴(literal) 그 자체로 값을 의미하는 것