정처기 감자정처기 감자
Java기초

검색

검색어를 입력해 개념, 문제, 필기를 찾습니다.

Java 자료형

코딩Java
읽는데 10분 소요
처음 쓰인 날: 2026-04-02
마지막 수정일: 2026-04-02
조회수: —
선수학습(1개)
  • 변수 선언 방법

요약

Java의 자료형을 정리합니다. 기본형(int, long, float, double, char, boolean)과 참조형(String, 배열, 객체)의 차이, 형변환(casting)까지 쌩기초부터 설명합니다.

자료형이란?

자료형(data type)은 변수에 어떤 종류의 데이터를 저장할지 정하는 것입니다.

정수를 저장할 때와 소수점이 있는 수를 저장할 때 필요한 메모리 크기가 다릅니다. 자료형을 통해 "이 변수에는 이런 종류의 데이터를 저장할 거야"라고 미리 알려주는 것입니다.

java
코드 하이라이팅 중…

Java의 자료형은 크게 기본형과 참조형으로 나뉩니다.

  • 기본형(primitive type): 값 자체를 저장합니다. int, double, char, boolean 등 8가지
  • 참조형(reference type): 기본형 8가지를 제외한 나머지 자료형입니다. String, 배열, 클래스 등이 여기에 속합니다.
Java 기본형 자료형별 메모리 크기 비교 — 1바이트(boolean, byte)부터 8바이트(long, double)까지
Java 기본형 자료형별 메모리 크기 비교 — 1바이트(boolean, byte)부터 8바이트(long, double)까지

자료형 핵심 정리

메모리(memory)는 프로그램이 실행될 때 데이터를 잠시 보관하는 공간입니다. 바이트(byte)는 그 메모리 크기를 나타내는 단위입니다. 크기가 클수록 더 크거나 정밀한 값을 저장할 수 있습니다.

분류자료형저장하는 데이터크기
정수형byte작은 정수 (-128 ~ 127)1바이트
정수형short중간 정수 (-32,768 ~ 32,767)2바이트
정수형int정수 (가장 기본)4바이트
정수형long큰 정수 (int 범위의 약 43억 배)8바이트
실수형float소수점이 있는 수4바이트
실수형double소수점이 있는 수 (더 정확하게 저장)8바이트
문자형char문자 하나2바이트
논리형boolean참(true) / 거짓(false)1바이트

정수형 자료형

정수형은 소수점이 없는 수를 저장합니다.

int — 가장 기본적인 자료형

int는 integer(정수) 의 약자입니다. Java에서 가장 많이 사용하는 자료형입니다.

java
코드 하이라이팅 중…

크기는 4바이트이며, 약 -21억부터 +21억까지의 수를 저장할 수 있습니다.


long — int보다 큰 정수

long은 int보다 더 큰 정수를 저장할 때 사용합니다. 크기는 8바이트입니다.

java
코드 하이라이팅 중…
숫자 뒤의 L은 무엇인가요?
숫자 뒤에 L을 붙이면 이 숫자가 long 타입이라는 뜻입니다. int 범위를 넘는 숫자에는 반드시 L을 붙여야 합니다.

byte와 short

byte(1바이트)와 short(2바이트)는 int보다 작은 정수형입니다. byte와 short의 범위를 외울 필요는 없지만, byte는 파일 입출력에서 가끔 등장합니다.

java
코드 하이라이팅 중…

실수형 자료형

실수형은 소수점이 있는 수를 저장합니다.

double — 가장 많이 쓰는 실수형

double은 소수점이 있는 수를 저장하는 자료형입니다. 크기는 8바이트이며, 소수점 이하 약 15 ~ 16자리까지 정확합니다.1

java
코드 하이라이팅 중…

Java에서 소수점이 있는 숫자(예: 3.14)를 그냥 쓰면 기본적으로 double 타입으로 처리됩니다.


float — 가벼운 실수형

float는 소수점이 있는 수를 저장하는 자료형입니다.2 크기는 4바이트이며, 소수점 이하 약 6 ~ 7자리까지 정확합니다.

java
코드 하이라이팅 중…

float로 사용하려면 숫자 뒤에 f를 반드시 붙여야 합니다.

정밀도 차이를 직접 비교하면 이렇습니다.

java
코드 하이라이팅 중…

f를 안 붙이면 double로 인식되어 컴파일 에러가 납니다.

자료형크기정밀도사용 예시
float4바이트소수점 6 ~ 7자리3.14f
double8바이트소수점 15 ~ 16자리3.141592653589793

문자형 — char

char는 character(문자) 의 약자입니다. 문자 하나를 저장합니다. 문자를 저장할 때는 작은따옴표(' ')로 감쌉니다.

java
코드 하이라이팅 중…
char는 내부적으로 숫자입니다
컴퓨터는 문자를 숫자로 저장합니다. 문자와 숫자를 1:1로 대응시킨 약속표를 ASCII(아스키) 코드라고 합니다. 'A'는 65, 'a'는 97, '0'은 48로 저장됩니다. 그래서 char끼리 덧셈/뺄셈 같은 연산이 가능합니다.

Java의 char는 2바이트입니다. C언어의 char(1바이트)와 크기가 다릅니다. Java는 유니코드3를 사용하기 때문에 한글도 char 하나에 저장할 수 있습니다.

java
코드 하이라이팅 중…

char와 배열 인덱스

char는 내부적으로 정수이므로, 배열의 인덱스로 사용할 수 있습니다. 예를 들어 'a'는 97번이므로 arr['a']는 arr[97]과 같습니다.

new boolean[256]은 boolean 값을 담는 칸 256개짜리 배열을 새로 만든다는 뜻입니다. new는 메모리에 공간을 새로 만들 때 사용하는 키워드입니다.

java
코드 하이라이팅 중…

이 패턴은 "문자의 등장 여부를 기록"하는 문제에서 자주 사용됩니다.


논리형 — boolean

boolean은 참(true) 또는 거짓(false), 딱 두 가지 값만 저장하는 자료형입니다.

java
코드 하이라이팅 중…

boolean은 어디에 쓰나요?

주로 조건을 판단할 때 사용합니다. if문이나 반복문의 조건식 결과가 boolean입니다.

java
코드 하이라이팅 중…

boolean 배열의 기본값

new boolean[크기]로 boolean 배열을 만들면, 모든 칸이 자동으로 false로 채워집니다. 이것은 Java의 규칙입니다 — boolean 배열을 만들면 항상 false입니다.

java
코드 하이라이팅 중…

이 특성을 이용하면 "방문 여부", "사용 여부"를 추적하는 배열을 쉽게 만들 수 있습니다.

Java 배열의 기본값 규칙
boolean 배열뿐 아니라 모든 배열에 기본값이 있습니다. int 배열은 0, double 배열은 0.0, String 배열은 null로 채워집니다.

기본형 vs 참조형

Java의 자료형은 기본형 8가지와 나머지 모든 참조형으로 나뉩니다.

구분변수에 저장되는 것예시
기본형 (int, double 등)값 자체int x = 5 → x에 5가 저장
참조형 (객체, 배열)객체의 주소Student s1 = new Student() → s1에 주소가 저장

기본형 8가지: byte, short, int, long, float, double, char, boolean

참조형: String, 배열(int[], boolean[] 등), 클래스로 만든 객체 등 — 기본형 8가지를 제외한 나머지 전부

기본형 변수를 대입하면 값이 복사됩니다. int y = x를 하면 x의 값 5가 y에 복사되고, 이후 x를 바꿔도 y는 그대로입니다.

참조형 변수를 대입하면 주소가 복사됩니다. Student s2 = s1을 하면 s1에 저장된 주소가 s2에 복사되어, 두 변수가 같은 객체를 가리키게 됩니다. 한쪽에서 객체를 수정하면 다른 쪽에서도 변경이 보입니다.

이 차이가 매개변수 전달(함수를 호출할 때 값을 넘기는 방식), 객체 배열 등에서 중요하게 작용합니다.

이 규칙이 왜 중요한가요?
배열에 객체를 넣거나, 메서드에 객체를 전달할 때도 같은 원리가 적용됩니다. 변수의 '값'이 복사되는데, 참조형의 '값'은 주소이므로 주소가 복사됩니다. 이 개념은 객체 배열, 매개변수 전달 문제에서 반복적으로 출제됩니다.

형변환 (Casting)

형변환은 한 자료형의 값을 다른 자료형으로 바꾸는 것입니다.

자동 형변환 (묵시적)

좁은 타입 → 넓은 타입으로는 자동으로 변환됩니다. 표현할 수 있는 값의 범위가 더 넓은 쪽으로 변환되므로 데이터 손실이 없습니다.

java
코드 하이라이팅 중…

byte → short → int → long → float → double 순서로 자동 변환됩니다.

long(8바이트)에서 float(4바이트)로 가는 것이 이상해 보일 수 있습니다. 바이트 크기가 아니라 표현할 수 있는 값의 범위 기준이기 때문입니다. float는 바이트는 작아도 소수점 덕분에 long보다 훨씬 넓은 범위의 수를 표현할 수 있습니다.

char도 int로 자동 변환됩니다. 변환 순서 상 char는 int 단계에서 합류합니다. 'A'는 65이므로:

java
코드 하이라이팅 중…

강제 형변환 (명시적)

넓은 타입 → 좁은 타입으로 바꿀 때는 (자료형) 을 직접 써서 변환해야 합니다. 소수점 이하가 잘리는 등 데이터 손실이 생길 수 있습니다.

java
코드 하이라이팅 중…
강제 형변환은 소수점을 버립니다
(int) 3.14는 3이 됩니다. 반올림이 아니라 소수점 이하를 버리는 것입니다. (int) 3.99도 3이 됩니다.
java
코드 하이라이팅 중…
변환 방향방법예시결과
int → double자동double b = 10;10.0
double → int강제int a = (int) 3.14;3
char → int자동int n = 'A';65
int → char강제char c = (char) 65;'A'

정보처리기사 실기 대비 문제

문제를 불러오는 중이에요.
문제를 불러오는 중이에요.
문제를 불러오는 중이에요.

Footnotes

  1. double precision(이중 정밀도)이라고도 하며, float보다 두 배 더 정밀하게 소수를 저장한다는 뜻입니다. ↩

  2. floating point(부동소수점)이라고도 합니다. 소수점의 위치를 고정하지 않고 움직여가며 저장하는 방식입니다. ↩

  3. 유니코드(Unicode)는 전 세계 모든 문자(한글, 중국어, 이모지 등)를 숫자로 표현하기 위한 국제 표준입니다. ASCII 코드가 영문 위주였던 것을 확장한 버전입니다. ↩


메가커피와 함께, 홈페이지 개선에 참여하세요! ☕
혹시 이용에 불편한 점이나 개선이 필요한 부분을 발견하셨나요? 댓글로 알려주시면 더 나은 감자가 될 수 있어요! 🥔 제보해주신 모든 분께 메가커피 기프티콘을 드립니다! (본인 이메일로 댓글 달아주셔야해요~)
후수학습(2개)
  • 객체와 클래스 - 클래스, 인스턴스, 생성자
  • Java 기본 제공 클래스 (Integer, Math)
정처기 감자정처기 감자

정보처리기사 합격
도와줄라고 하는 감자

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매

실기 이론

  • 이론 공부법
  • DB
  • 네트워크/OS
  • SW 설계
  • SW 개발
  • 보안/신기술

시험 응시

  • 시험장 찾기
  • 원서 접수
  • 응시자격 서류

요약 PDF

  • 26년 3회 이론 압축
  • 26년 3회 코딩 압축
  • 초압축 25년 3회
  • 압축 25년 3회

기출문제

  • 전체 기출문제
  • 25년 3회
  • 25년 2회
  • 문제 포럼

감자 이용권

  • 이용권 구매
© 2025 재현기획개발. All rights reserved.
  • 정처기 감자의 시작
  • 업데이트 로그
  • 개인정보 처리방침
  • 이용약관
상호명 : 재현기획개발 / 주소: 서울특별시 영등포구 영등포로 150, 지하1층 108호 L145 가라지(당산동1가, 생각공장 당산) / 대표: 김재현 / 전화: 010-8158-7127 / 통신판매업신고: 제2025-서울영등포-1569호 / 이메일: contact@edugamja.com / 사업자등록번호: 573-51-00999