[Java] 자바 데이터 타입 (기본형, 참조형)

2025. 5. 27. 18:54·Back end/Java
반응형

자바는 정적 타입 언어로, 변수를 선언할 때 데이터 타입을 명시해야 합니다.

자바의 데이터 타입은 크게 다음 두 가지로 나뉩니다.

  • 기본형 (Primitive Type)
  • 참조형 (Reference Type)

🔢 기본형 타입 (Primitive Type)

기본형 타입은 값 자체를 메모리에 저장합니다.

자바에는 총 8가지 기본형 타입이 있으며, 성능이 중요한 영역에서 자주 사용됩니다.

분류  타입  크기  예시
논리형 boolean 1 byte true, false
문자형 char 2 byte 'a', '1'
정수형 byte, short, int, long 1~8 byte int x = 59;, long big = 123L;
실수형 float, double 4, 8 byte float f = 3.14f;, double d = 3.14;

📌 Tip: 숫자 리터럴 뒤에 L(long), f(float) 같은 접미사를 붙이는 것을 잊지 마세요!

 


🔤 리터럴 (Literal)이란?

프로그래밍에서 리터럴이란, 소스 코드에 직접 입력된 고정된 값을 의미합니다.

즉, 변수나 연산이 아닌 "그 자체로 의미를 가지는 값" 을 말합니다.

 

예를 들어, 아래와 같은 것들이 모두 리터럴입니다.

리터럴 예시  설명
true, false 논리형(boolean) 리터럴
'a', '1' 문자형(char) 리터럴
10, -5 정수형(int, long 등) 리터럴
3.14, 2.0f 실수형(float, double) 리터럴
"Hello" 문자열(String) 리터럴

리터럴은 변수에 대입될 수 있으며, 타입에 따라 표현 방식이 조금씩 다릅니다.

예를 들어, 3.14f처럼 float 리터럴에는 f를 붙여야 하고, 123L처럼 long 리터럴에는 L을 붙여야 합니다.


🧭 참조형 타입 (Reference Type)

참조형 타입은 데이터가 저장된 메모리 주소(참조값)를 저장합니다.

즉, 변수에는 실제 값이 아닌 값이 저장된 메모리의 위치가 저장됩니다.

 

객체를 다룰 때는 new 키워드로 메모리를 할당하거나,

자바가 자동으로 생성하는 문자열 리터럴 등을 통해 객체를 참조합니다.

분류  설명  예시
클래스 객체를 생성할 수 있는 설계도 String, Scanner, 사용자 정의 클래스 등
래퍼 클래스 기본형 값을 객체로 감싸는 클래스 Integer, Double, Character, Boolean 등
인터페이스 추상 메서드의 집합, 구현 클래스에 따라 기능이 달라짐 Runnable, Comparable 등
배열 같은 타입의 데이터를 연속적으로 저장 int[] arr = {1, 2, 3};
열거형 (enum) 상수들의 집합, 타입 안정성과 가독성을 높임 enum Day { MON, TUE, ... }
라이브러리 클래스 자바에서 제공하는 다양한 유틸리티 클래스 ArrayList, HashMap 등

🔍 참조형 타입 사용 예시

String name = "Java";
int[] numbers = {1, 2, 3};
ArrayList<String> list = new ArrayList<>();

 

반응형

'Back end > Java' 카테고리의 다른 글

AtomicInteger는 어떻게 동시성을 보장할까? - CAS 알고리즘 깊이 파헤치기  (0) 2026.01.14
[Java] static import 활용법  (0) 2025.07.07
[Java] 상수(Constant)  (0) 2025.05.26
[Java] 변수(variable)  (0) 2025.05.26
[Java] 주석의 종류 (구현 주석, 문서화 주석)  (0) 2025.05.22
'Back end/Java' 카테고리의 다른 글
  • AtomicInteger는 어떻게 동시성을 보장할까? - CAS 알고리즘 깊이 파헤치기
  • [Java] static import 활용법
  • [Java] 상수(Constant)
  • [Java] 변수(variable)
Kim-SooHyeon
Kim-SooHyeon
개발일기 및 알고리즘, 블로그 운영에 대한 글을 포스팅합니다. :) 목표: 뿌리 깊은 개발자 되기
    반응형
  • Kim-SooHyeon
    soo_vely의 개발로그
    Kim-SooHyeon
  • 전체
    오늘
    어제
    • 분류 전체보기 (258)
      • 알고리즘 (108)
        • 자료구조 (3)
        • Java (104)
        • Python (1)
      • Back end (73)
        • Spring Project (28)
        • Java (23)
        • API (1)
        • Python (0)
        • Django (3)
        • Linux (1)
        • 서버 (2)
        • 에러로그 (11)
        • 부스트 코스 (1)
      • Front end (9)
        • HTML, CSS (4)
        • JavaScript (4)
        • JQuery (0)
      • 기타 프로그래밍 (4)
        • Android Studio (1)
        • Arduino (2)
        • Azure Fundamental(AZ-900) (1)
      • 개발도구 (24)
        • IntelliJ (2)
        • Git (12)
        • SVN (0)
        • Eclipse (2)
        • 기타 Tool (8)
      • Database (17)
        • Oracle (11)
        • MySQL (0)
        • H2 Database (3)
        • ORM & JPA (1)
      • 자격증 (10)
        • 컴활 1급 (7)
        • 컴활 2급 (2)
        • SQLD (1)
      • 기타 (13)
        • 블로그 운영 (6)
        • 문서 (1)
        • 기타 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    알고리즘
    jpa
    springboot
    java
    단계별풀기
    Oracle
    배열
    for문
    spring
    github
    BOJ
    solved.ac
    백준
    1차원 배열
    구현
    백준 자바
    문자열
    백준알고리즘
    Git
    오라클
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Kim-SooHyeon
[Java] 자바 데이터 타입 (기본형, 참조형)
상단으로

티스토리툴바