변수와 데이터 타입

1.1 변수

변수란?

변수는 프로그램에서 데이터를 저장하고 나중에 사용하기 위한 메모리 공간입니다. 변수는 데이터의 위치를 나타내며, 데이터를 저장하고 검색하는 데 사용됩니다.

변수 선언과 초기화

변수를 사용하려면 먼저 변수를 선언해야 합니다. 변수 선언은 해당 변수의 이름과 데이터 타입을 지정하는 작업입니다. 예를 들어, int 데이터 타입의 정수를 저장할 변수를 선언할 때는 다음과 같이 합니다.

int myAge;

변수를 선언한 후에는 초기값을 할당할 수 있습니다. 초기값을 할당하지 않으면 변수에는 기본값이 들어갑니다. 예를 들어, 정수 변수 myAge를 초기화하려면 다음과 같이 합니다.

myAge = 30;

또한, 변수를 선언하는 동시에 초기값을 할당할 수도 있습니다.

int myAge = 30;

변수 이름 규칙

변수의 이름을 정할 때는 몇 가지 규칙을 따라야 합니다.

  • 변수 이름은 문자, 숫자, 언더스코어(_)로 구성됩니다.

  • 변수 이름은 문자로 시작해야 합니다.

  • 대소문자를 구분합니다.

  • 예약어(Reserved Keywords)는 변수 이름으로 사용할 수 없습니다.

    • 예약어 예시) if, else, case, break, ...

  • 변수 이름은 의미를 가지고 있어야 하며, 다른 개발자들도 이해하기 쉬워야 합니다.

변수의 데이터 타입

변수의 데이터 타입은 변수가 어떤 종류의 데이터를 저장하는지를 나타냅니다. Java에서는 기본 데이터 타입과 참조 데이터 타입으로 나눌 수 있습니다.

  • 기본 데이터 타입(Primitive Data Types): 정수, 실수, 문자, 논리 값 등을 저장합니다. 기본 데이터 타입은 크기와 값을 직접 저장합니다.

    • 정수형 데이터 타입: int, long, short, byte

    • 실수형 데이터 타입: float, double

    • 문자 데이터 타입: char

    • 논리 데이터 타입: boolean

  • 참조 데이터 타입(Reference Data Types)은 뒤 단원에서 설명하겠습니다.


1.2 기본 데이터 타입

정수형 데이터 타입

byte

  • byte는 1바이트의 정수를 저장하는 데이터 타입입니다.

  • 주로 파일이나 네트워크에서 데이터를 읽거나 쓸 때 사용됩니다.

  • 범위: -128부터 127까지의 정수를 표현할 수 있습니다.

💡 byte

  • 1비트(bit) : 정보량의 최소 단위. 1bit 한칸에 0 또는 1 을 담을 수 있습니다.

  • 1바이트(byte) = 8비트(bit)

    • 즉, 한 칸에 2 개씩 8 칸이면 2^8 = 256 가지의 정보를 담을 수 있습니다.

short

  • short는 2바이트의 정수를 저장하는 데이터 타입입니다.

  • 자주 사용되지는 않지만 특정 상황에서 유용합니다.

  • 범위: 약 -32,768부터 32,767까지의 정수를 표현할 수 있습니다.

int

  • int는 4바이트의 정수를 저장하는 데이터 타입입니다.

  • 대부분의 정수 연산에 사용됩니다.

  • 범위: 약 -2,147,483,648부터 2,147,483,647 (약 21억) 까지의 정수를 표현할 수 있습니다.

💡 int 범위 계산

  • 1바이트(Byte) = 8비트(Bit)

  • 4바이트 = 32비트

  • 2^32 = 약 42억

  • int 형이 표현할 수 있는 십진법 숫자 범위 : -2^31 ~ 2^31 - 1

long

  • long은 8바이트의 정수를 저장하는 데이터 타입입니다.

  • 큰 정수 값을 다룰 때 사용됩니다.

  • 범위: 약 -9,223,372,036,854,775,808부터 9,223,372,036,854,775,807 (약 900경) 까지의 정수를 표현할 수 있습니다.

실수형 데이터 타입

float

  • float는 4바이트의 부동 소수점 값을 저장하는 데이터 타입입니다.

  • 정밀도가 높지 않아 정확한 실수 표현에는 한계가 있습니다.

  • 예: 3.14159f (f 접미사 필요)

double

  • double은 8바이트의 부동 소수점 값을 저장하는 데이터 타입입니다.

  • 높은 정밀도를 가지며 실수 연산에 주로 사용됩니다.

  • 예: 3.141592653589793

부동 소수 표현

💡 소수 표현

위 그림처럼 컴퓨터는 소수를 표현할 때 부호, 가수, 지수로 분리해서 보관합니다. (IEEE 754 표준)

  • float 은 32bit 이고 아래와 같이 할당합니다.

    • 부호에 1bit

    • 가수에 8bit

    • 지수에 23bit

  • double 은 64bit 이며 아래와 같이 할당합니다.

    • 부호에 1bit

    • 가수에 11bit

    • 지수에 52bit

문자 데이터 타입

char

  • char는 2바이트의 유니코드 문자를 저장하는 데이터 타입입니다.

  • 한 개의 문자를 저장하며 작은 따옴표('')로 묶어 표현합니다.

  • 예: 'A', '한'

논리 데이터 타입

boolean

  • boolean은 논리값을 저장하는 데이터 타입입니다.

  • truefalse 중 하나의 값을 가집니다.

  • 주로 조건문과 제어문에서 사용됩니다.

한 눈에 정리

자료형
바이트 크기
최솟값
최댓값

byte

1

-128

127

short

2

-32,768

32,767

int

4

-2,147,483,648

2,147,483,647

long

8

-9,223,372,036,854,775,808

9,223,372,036,854,775,807

float

4

대략 -3.4 x 10^38

대략 3.4 x 10^38

double

8

대략 -1.7 x 10^308

대략 1.7 x 10^308

char

2

'\u0000' (0)

'\uffff' (65,535)

boolean

1 (또는 작을 수 있음)

false

true

Last updated