4강. 변수(Variable), 데이터 타입

변수

컴퓨터 언어에서 변수(Variable)란, 값을 저장할 수 있는 메모리상의 공간을 의미한다. 계산을 하기 위해 변수를 사용하지 않고 값을 직접 사용할 수도 있지만, 의미있는 이름의 변수에 저장하여 사용하는 것이 좋다.

변수의 값은 바뀔 수 있으며, 하나의 변수에는 단 하나의 값만 저장할 수 있어 값을 여러번 저장하면 마지막에 저장한 값을 갖게 된다.

변수의 선언

변수를 사용하기 위해서는 먼저 변수를 선언해야 한다. 변수가 선언되면 메모리에 변수의 타입에 알 맞은 크기의 저장공간이 확보되어, 값을 저장할 준비가 되는 것이다.

//변수 선언 및 저장
int number;        //정수형(int)을 저장할 수 있는 number 이름의 변수를 선언한다
number = 10        //number 변수에 값 10을 저장한다

//변수 선언과 동시에 초기화
int number = 0;    //정수형(int)를 저장할 수 있는 number 변수에 0을 선언과 초기화를 동시에 한다
  • 변수 타입은 변수에 담을 값을 종류와 범위를 충분히 고려해서 결정해야 한다.
  • 변수를 사용하기 전에는 적절한 값을 저장해주는 것이 필요한데 이것을 변수의 초기화라고 한다

명령규칙

프로그래밍에 개발자가 이름을 지을 수 있는 모든 대상에는 반드시 지켜야할 공통적인 규칙이 있다.

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

java에서 사용하는 예약어는 다음과 같다

abstract do if package synchronized
boolean double implements private this
break else import protected throw
byte enum instanceof public throws
case extends int return transient
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

변수의 타입(변수형)

모든 변수는 변수의 타입(변수형)이 있으며, 변수의 타입에 따라 저장할 수 있는 값의 종류가 범위가 달라진다. 변수를 선언할때 저장하고자 하는 값을 고려하여 가장 알맞은 타입을 선택하면 된다.

변수는 크게 2가지 기본형(Primitive type)과 참조형(Reference type)으로 나눌 수 있다

  • 기본형(Primitive type) : boolean, char, byte, short, int, long, float, double 계산을 위해 실제 값을 메모리에 저장한다.
  • 참조형(Reference type) : 8개의 기본형을 제외한 모든 타입으로 메모리에 객체의 주소를 저장한다.

기본형(Primitive type)

1 byte 2 byte 4 byte 8 byte
논리형 boolean
문자형 char
정수형 byte short int long
실수형 float double
  • 논리형: true와 false 중 하나의 값을 가지며, 조건식과 논리적 계산에 사용
  • 문자형: 문자를 저장하는데 사용되며, 변수 당 하나의 문자만 저장 가능
  • 정수형: 정수의 값을 저장하는 데 사용되며 주로 int와 long이 사용, byte 는 이진데이터를 다루고, short는 C언어와 호환을 위해 주로 사용
  • 실수형: 실수 값을 저장하는데 사용
--------------------------------------------------------------------------------------
종류       설명              저장 공간    값의 범위 (최소값~최대값)
======================================================================================
boolean    논리값            1 bit        true / false
--------------------------------------------------------------------------------------
byte       부호 있는 정수    8 bits       -128 ~ 127
--------------------------------------------------------------------------------------
char       유니코드 문자     16 bits      \u0000 ~ \uFFFF
--------------------------------------------------------------------------------------
short      부호 있는 정수    16 bits      -32768 ~ 32767
--------------------------------------------------------------------------------------
int        부호 있는 정수    32 bits      -2147483648 ~ 2147483647
--------------------------------------------------------------------------------------
long       부호 있는 정수    64 bits      -9223372036854775808 ~ 9223372036854775807
--------------------------------------------------------------------------------------
float      IEEE 754 실수     32 bits      1.40239846E-45f
                                          ~ (표현 가능 양수 범위)
                                          3.40282347E+38f
--------------------------------------------------------------------------------------
double     IEEE 754 실수     64 bits      4.94065645841246544E-324
                                          ~ (표현 가능 양수 범위)
                                          1.79769313486231570E+308
--------------------------------------------------------------------------------------

참조형(Reference type)

참조형은 메모리에 실제값이 존재하는 위치(메모리 주소) 를 저장하는 모든 변수로 기본형을 제외한 모든 변수이며, 개발자가 언제든지 선언해서 사용할 수 있다.

참조형은 메모리 주소값 혹은 null 을 가질 수 있으며, null 은 어떤 것도 참조하고 있지 않다는 것을 뜻한다. 대표적으로 사용하는 참조형은 문자열을 저장하는 String 이 있다.

//참조형 타입의 저장은 new 키워드를 사용한다
Date date = null;
Date today = new Date();

//문자열을 저장하는 String 타입은 자주 사용하는 참조형으로 특별하게 쌍따옴표를 사용하여 객체를 생성할 수 있다
String schoolName = "대왕중학교";

형변환(casting)

프로그램을 작성하다 보면, 서로 다른 타입의 값으로 연산을 수행해야 하는 경우가 자주 발생한다. 기본형과 참조형 사이에는 형변환이 되지 않으며, 같은 자료형 내에서만 형 변환이 가능하다.

형변환은 변수나 리터럴 앞에 변화한고자 하는 타입을 괄호와 함께 붙여준다

results matching ""

    No results matching ""