Programming/Java

Java 변수 및 대입연산자

byeong07 2017. 8. 26. 01:56

 

 

- 제가 정리한 변수에 대해 알아보겠습니다.

 

1. 변수(Variable)

변수란, 값을 저장할 수 있는 메모리 상의 공간을 의미합니다.

변수의 값은 변경이 가능하고 하나의 변수에는 하나의 값만 저장할 수 있습니다. 따라서 값을 여러번 저장할 경우 마지막에 저장된 값을 가지게 됩니다.


1.1 변수 선언


변수를 사용하기 위해선 변수를 선언해야 하는데 다음과 같이 사용합니다.

변수를 선언하면서 적절한 값을 저장해주는 것을 초기화라고 하는데 선언과 함께 사용할 수 있습니다.

변수타입 변수이름:

ex) int num;

변수타입 변수이름 = 초기화값;

ex) int num = 10;

1.2 명명 규칙

변수, 메서드, 클래스 등의 이름은 다음과 같은 규칙에 따라 명명해줘야 합니다.

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

    - True와 true는 서로 다른 것으로 간주된다.

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

    - true는 예약어라 사용이 불가능하지만, True는 가능하다.

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

    - top10은 가능하지만 10top은 불가능하다.

4. 특수문자는 '_'와 '$'만 허용된다.

    - $harp은 가능하지만, S#arp은 불가능하다.

또한 필수적이진 않지만 권장하는 규칙은 다음과 같습니다.

1. 클래스명의 첫 글자는 항상 대문자로 한다.

    - 변수 또는 메서드 이름의 첫 글자는 항상 소문자로 한다.

2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다. (Camel Case, 낙타표기법)

    - lastIndexOf, StringBuffer

3. 상수의 이름은 모두 대문자로 한다.

    - PI, MAX_NUMBER

※ 자바에서 클래스명은 유니코드를 인식하지 못하는 운영체제를 고려하여 ASCII코드 영문자로 하는 것이 좋습니다.

2. 변수의 타입

모든 변수에는 타입(또는 형)이 있습니다.

변수의 타입에 따라 저장할 수 있는 값의 종류와 범위가 달라집니다.

크게 기본형과 참조형으로 나눠지는데, 기본형은 실제 값을 저장하고 참조형은 주소 값을 저장합니다.

기본형(Primitive Type)

- boolean

- char

- byte

- short

- int

- long

- float

- double


참조형(Reference Type)

- 기본형 8개를 제외한 나머지 타입

※ 참조형은 null 또는 객체의 주소를 값으로 갖습니다.


참조변수의 선언과 초기화는 다음과 같습니다.

클래스이름 변수명 = null or 새로운 클래스;

ex) 

String string = null;

String string = new String();

기본형의 경우 8개의 타입이 크게 논리형, 문자형, 정수형, 실수형 4가지로 구분됩니다.

제가 정리한 것을 참고 바랍니다.

※ 정수형 중에서는 int형이 기본 자료형이고, 실수형 중에서는 double형이 기본 자료형입니다.

char형은 문자를 내부적으로 정수값으로 저장하므로 정수형과 밀접한 관계가 있다고 볼 수 있습니다.

다음은 8개 기본형 타입의 저장 가능한 범위입니다.

※ 정수형의 경우 범위는 -2^(n-1) ~ 2^(n-1) (n:비트수)로 이루어집니다.


3. 형변환

프로그램을 작성하다보면 서로 다른 타입의 값으로 연산을 수행해야 하는 경우가 발생합니다.

서로 다른 타입의 연산을 수행해야하는 경우, 형변환을 통해 같은 타입으로 변환해주어야 합니다.

즉, 형변환은 변수 또는 리터럴의 타입을 다른 타입으로 변환하는 것입니다.

형변환은 다음과 같은 형식으로 이루어집니다.

(타입이름)피연산자

ex) (int)doubleVal

피연산자 앞에 괄호를 쓰고 그 안에 타입명을 써주면 됩니다.

이때의 괄호는 캐스트연산자(형변환연산자)라고 하며, 형변환을 캐스팅(casting)이라고도 합니다.


※ 형변환이 이루어져도 피연산자의 원래 값은 영향을 받지 않습니다.


8개의 기본형 타입에서 boolean을 제외한 7개 타입 간에는 서로 형변환이 가능합니다.

형변환은 기본형간에서만 가능하고 기본형과 참조형 간에는 서로 형변환이 되지 않습니다.


다음은 기본형간의 형변환 예시입니다.

※ 각 자료형마다 표현할 수 있는 값의 범위가 다르기 때문에, 큰 자료형에서 작은 자료형으로의 형변환은 값 손실이 발생할 수 있습니다.

(위의 예처럼 실수형에서 정수형으로의 형변환시 소수점 이하의 값은 버려집니다.)

또한 작은 자료형에서 큰 자료형으로의 형변환은 캐스트 연산자를 생략할 수 있지만, 큰 자료형에서 작은 자료형으로의 형변환의 경우 캐스트 연산자를 생략할 수 없습니다.


형변환은 다음과 같이 정리할 수 있습니다.

큰 자료형 → 작은 자료형 : 값 손실이 발생할 수 있기 때문에 캐스트 연산자 생략 불가

작은 자료형 → 큰 자료형 : 값 손실이 없으므로 캐스트 연산자 생략 가능 (JVM이 자동으로 형변환을 함)

 

 

 


 

 

 

 

 

 

 

 

 

'Programming > Java' 카테고리의 다른 글

Java 3항 연산자  (0) 2017.09.24
Java 연산자  (0) 2017.09.24
Java 자료형  (0) 2017.08.26
Java basic 표준출력장치  (0) 2017.08.26
Java 한 줄 주석문 및 표준출력장치  (0) 2017.08.26