변수

2022. 6. 30. 23:55Java

변수(Variable)

> 데이터를 저장하는 메모리상의 공간에 이름을 붙인 것이다. 

> 변수의 값은 바뀔 수 있으며, 하나의 변수에는 단 하나의 값만을 저장할 수 있다. 

 

 

변수의 선언

변수를 사용하기 위해서는 변수를 선언해야 한다. 변수가 선언되면 메모리에 변수의 타입에 알맞은 크기의 저장공간이 확보된다. 

변수는 다음과 같이 선언한다. 

// 변수타입 변수이름;
int age;	//정수형 변수 age를 선언한다.

 

위 코드에서 변수는 age이다. 

변수를 선언 할 때는  변수의 타입과 이름을 함께 써주어야 한다. 

변수를 선언한 후부터는 변수를 사용할 수 있으며, 보통 변수를 사용하기 앞서 적절한 값을 저장해주는 것이 필요하다. 이를 변수의 초기화라 한다. 

// 정수형 변수 age를 선언하고 값을 10으로 초기화
int age = 10;

위처럼 선언과 동시에 초기화하는 것이 일반적이다. 

 

 

변수 이름 규칙(naming convention)

1. 대소문자가 구분되며 길이에 제한이 없다. 

2. 예약어를 사용해서는 안 된다. 

3. 숫자로 시작해서는 안 된다. 

4. 공백을 사용할 수 없다. 

5. 특수문자는 '_'와 '$'만을 허용한다. 

 

 

아래는 자바에서 사용되는 예약어이다. 

abstract do if package synchronized
boolean double implements private this
break else import protected throw
byte enum instanceof public throws
case extends int return trasient
catch false interface short true
char final long static try
class finally native strictfp void
continue float new super volatile
default for null switch while

 

그  외의 필수적인 것은 아니지만 자바 프로그래머들에게 권장하는 규칙들은 다음과 같다.

1. 클래스 이름의 첫 글자는 항상 대문자로 한다. (변수와 메서드 이름의 첫 글자는 항상 소문자로 한다. )

2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다. (ex. lastIndexOf, StringBuffer)

3. 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'로 구분한다.  (ex. PI, MAX_NUMBER)

 

표기법

> 카멜 표기법(camelCase): 가장 앞의 문자는 소문자로, 나머지 단어의 첫 문자는 대문자로 표기한다.

> 파스칼 표기법(PascalCase): 각 문자의 첫 문자를 대문자로 표기한다.

> 스네이크 표기법(snake_case): 각 문장은 소문자로 표기하고, 띄어쓰는 부분은 '_'로 연결한다. 

 

 

변수의 타입

모든 변수에는 타입이 있으며, 변수의 타입에 따라 저장할 수 있는 값의 종류와 범위가 달라진다.  

변수의 타입은 크게 기본형(Primitive type)과 참조형(reference type) 두 가지로 나눌 수 있다. 

 

기본형

> boolean, char, byte, chort, int, long, loat, double 총 8개이다. 

> 계산을 위한 실제 값을 저장한다. 

참조형

> 8개의 기본형을 제외한 나머지 타입니다. 

> 객체의 주소를 저장한다. 

> null 또는 객체의 주소(4byte, 0x0~0xffffffff)를 값으로 갖는다. null은 어떤 값도 갖고 있지 않음, 객체를 참조하고 있지 않다는 뜻이다. 

> 변수의 타입으로 클래스 이름을 사용한다. 

 

아래는 참조 변수를 선언 및 초기화하는 방법이다. 기본형 변수와 같이 변수명 앞에 타입을 적어주는데 참조 변수의 타입은 클래스 이름이다. 

Date today1 = null;
Date today2 = new Date();

new의 연산결과는 생성된 객체의 주소이다. 이 주소가 대입연산자 '='에 의해 참조변수 today에 저장되는 것이다. 

이때 참조변수 today를 통해 생성된 객체를 사용할수 있게 된다. 

 

'Java' 카테고리의 다른 글

객체 지향 vs 절차 지향 프로그래밍  (0) 2022.07.18
JVM  (0) 2022.07.18
상수(final)  (0) 2022.06.30
리터럴(literal)  (0) 2022.06.30
자주 발생하는 에러와 해결 방법  (0) 2022.06.30