. Java의 정석

[Java] 데이터 타입의 필요성

박인영 2021. 7. 1. 15:49

 

<변수의 선언과 할당>

프로그래밍언어에서의 변수(variable)란,
단 하나의 값을 저장할 수 있는 메모리 공간을 의미하고

 

Java에서 변수를 사용하려면
아래와 같이 변수를 선언하고 할당해야 한다.

int a = 10;

이는 '10를 int 타입의 a라는 이름의 변수에 저장하라'

라고 컴퓨터에 명령하는 것이다.

 

 

 

<int>

여기서 int는 숫자 데이터 타입을 뜻하며

그 중에서도 1, 22, 0, -333과 같이 소수점이 없는 정수형을 뜻한다.

 

int age;

즉, 위와 같은 선언은

정수형 데이터타입을 저장할 메모리 공간에

age라고 이름을 붙이라고 컴퓨터에게 명령하는 것이다.

 

int 타입으로 선언했기 때문에

age 변수에 저장할 수 있는 값은 정수뿐이다.

 

 

 

int 타입 a 변수는 정수 10의 값은 문제없이 저장하지만,

 

A는 정수가 아니기 때문에 컴파일 에러가 발생한다.

 

 

 

참고로 변수의 값으로 숫자를 입력할 때는 그냥 작성하지만

문자를 작성할 때는 작은따옴표('A')를 붙여야 하는 규칙이 있다.

문자열(두 문자 이상 연결된 경우)의 경우 큰따옴표("AAA")를 붙여야 한다.

 

예를 들어 숫자 1을 저장할 때는 1을 입력하면 되지만

문자 1을 저장하고 싶다면 '1'로,

문자열 11111111을 저장하고 싶다면 "11111111"로 입력해야 한다.

자세한 것은 이후에 정리하자.

 

 

 

 

그렇다면 int a = 'A';는 어떨까?

'A'는 정수가 아니기 때문에 컴파일 에러가 발생할 것 같지만

a 변수에는 65라는 값이 저장된다.

 

이유는 전 세계의 모든 문자를

컴퓨터에서 일관되게 표현하고 다룰 수 있도록

문자당 고정 코드값을 부여해두었기 때문이다.

이부분도 이후에 배운다.

 

 

 

그럼, 'A'라는 문자를 그대로 표현하려면 어떻게 해야할까?

 

숫자형 데이터타입을 의미하는 int 대신

문자형 데이터타입을 의미하는 char을 사용해야 한다.

 

 

 

<데이터 타입의 필요성>

이렇게 컴퓨터에게 정확하게 명령하기 위해

값(데이터)의 종류(타입)를 분류해두었고

개발자는 변수에 저장하려는 값에 맞는

데이터 타입을 정확하게 선언해줘야 한다.

 

더 근본적으로는 데이터 타입을 결정하여 선언하는 이유는

숫자인지 문자인지, 숫자 중에서도 정수인지 실수인지에 따라,

즉, 데이터 타입에 따라 저장공간의 크기가 다르기 때문에

컴퓨터에게 저장할 값에 맞는 공간을 확보하라고 명령하는 것과 같다.

 

 

 

그래서 데이터 타입의 분류과 각가의 크기를 배우기 전에

컴퓨터 저장용량 단위에대한 이해가 필요하니 공부해두자.