Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Today
Total

4. 변수 - 데이터형과 형 변환 (Variable-Data Type & Casting)

4. 변수 - 데이터형과 형 변환 (Variable-Data Type & Casting) 본문

카테고리 없음

4. 변수 - 데이터형과 형 변환 (Variable-Data Type & Casting)

KRONNA 2012. 6. 10. 16:32

이번 강의에서 배우고자 하는 목표:

1. 변수 선언 방법

2. 기본형 데이터와 참조형 데이터의 차이

3. 기본 데이터형의 종류와 각각 저장할 수 있는 값의 차이

4. 형 변환의 목표

5. 내부적 형 변환과 강제 형 변환의 차이




변수란 값을 저장할 수 있는 메모리상의 공간을 의미합니다. 이 공간에는 하나의 값만을 저장할 수 있지만 저장되어 있는 값을 바꿀 수 있습니다.

 

변수를 선언하는 방법과 변수에 데이터를 저장하는 방법은 이와 같습니다:

int x;
x =1;

int는 기본 데이터형 중 정수형 데이터형이고, x는 선언된 변수의 식별자 즉 변수의 이름입니다.

x = 1; 에서 x라는 변수에 1이라는 값을 저장하였습니다.

 

여기서

int x = 1;

을 작성해도 같은 결과가 나옵니다.

 

여러 개의 변수를 동시에 선언하려면

int x = 0, y = 0;

과 같이 작성을 해도 되며, 한 번에 선언할 수 있는 변수의 갯수에 제한은 없습니다.

 

변수의 데이터형은 두가지가 있는 데, 첫번째는 기본형-Primitive Type, 그리고 두번째는 참조형-Reference Type이 있습니다.

기본형에는 실제로 사용할 값이 저장되고

참조형에는 실제로 사용할 값이 저장되 있는 메모리 내의 주소가 저장됩니다.

기본형 데이터는 크게 4가지로 분류되며 총 8가지입니다. 논리형으로 분류되는 boolean, 문자형으로 분류되는 char, 정수형으로 분류되는 byte, short, int, long, 그리고 실수형으로 분류되는 float, double이 있습니다.


데이터 형 

저장할 수 있는 값 

용량 (bit) 

용량 (byte) 

boolean 

true / false 

char 

하나의 알파벳 

16 

byte 

8bit 정수 

short

16bit 정수

16

2

int

32bit 정수

32

 4

long

64bit 정수

64

8

float

32bit 부동소수점 실수

32

4

double

64bit 부동소수점 실수

64

8


참조형 데이터는 클래스형 (class), 인터페이스형 (interface), 배열형 (array)와 같이 기본형이 아닌 모든 것이 속합니다.

참조형 데이터를 선언할 때에는 기본형 데이터형 대신 클래스명 (혹은 인터페이스명이나 배열명)을 써주면 됩니다.

ex:

Name person = new Name ( );

여기서 new 연산자가 객체를 생성하였고 Name이란 클래스형 데이터 person에는 새로 만든 객체의 주소가 저장됩니다.

 

형 변환 (casting)은 데이터형을 바꿀 때 사용합니다. 기본형과 참조형 둘 다 형 변환이 가능하지만, 기본형은 기본형으로만, 참조형은 참조형으로만 변환 가능합니다.

 

형 변환에는 중요한 규칙이 있는 데, 이는 형 변환은 한 쪽 방향으로만 가능하다는 것입니다.

byte –> short, char –> int –> long –> float –> double

방향으로만 가능하며, 반대방향으로 형 변환을 시도하면 overflow가 발생합니다.

 

내부적 형 변환은 저 위에 방향으로, 즉 값의 표현 범위가 더 큰 방향으로, 형을 변환할 경우 값의 손실이 없으니 프로그래머의 의도와 관계없이 자동으로 변환되는 걸 의미합니다. 즉 괄호를 생략해도 괜찮습니다.

 

강제 형 변환은 그 반대 방향으로 변환해야 할 경우 직접 유형을 선언해야 하는 형 변환 방식을 뜻 합니다.

 

형 변환은 변환하고 싶은 변수 앞에 새로운 데이터형을 괄호와 함께 쓰면 됩니다.

ex:

int number = (int) 71.1;
byte byte = (byte) number;


 

이전 강의 (3. Java 언어의 구조)

다음 강의 (5. 배열 (Array))

레슨 플랜

Comments