2022. 6. 30. 23:55ㆍJava
변수(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 |