[TIL] Java 자료형과 형변환 완전 정리 (Wrapper Class · 진수 체계)

2025. 10. 18. 19:51·Programming Language/Java

 

Java의 자료형과 크기

Java에서 변수와 자료형, 형변환, 진수 체계를 정확히 이해하면 코드의 안정성과 가독성을 높일 수 있습니다.

이 글에서는 Wrapper Class를 통한 자료형 정보 확인, 형변환 종류, 진수 체계까지 한 번에 정리합니다.


Java 기본 자료형과 Wrapper Class

Java의 기본 자료형(primitive type) 은 각각 대응하는 래퍼 클래스(Wrapper Class)가 있습니다.

래퍼 클래스는 해당 자료형의 크기, 최댓값, 최솟값 등을 제공하여 프로그래밍에 활용할 수 있습니다.

Wrapper Class 예시

기본형  래퍼 클래스  크기(bit)  크기(bite) 최소값  최대값
byte Byte 8 1 -128 127
short Short 16 2 -32,768 32,767
int Integer 32 4 -2,147,483,648 2,147,483,647
long Long 64 8 -9,223,372,036,854,775,808 9,223,372,036,854,775,807
float Float 32 4 -3.4E38 3.4E38
double Double 64 8 -1.7E308 1.7E308
char Character 16 2 '\u0000' 65,535
boolean Boolean 1 (논리값) 1 true false

Wrapper Class 활용 예제

System.out.println("Integer.SIZE: " + Integer.SIZE);       // 32 (비트)
System.out.println("Integer.MIN_VALUE: " + Integer.MIN_VALUE); // -2147483648
System.out.println("Integer.MAX_VALUE: " + Integer.MAX_VALUE); // 2147483647

형변환 (Casting)

형변환이란 자료형을 다른 타입으로 변환하는 것을 의미합니다.

Java는 엄격한 자료형을 요구하기 때문에 자동 변환과 강제 변환을 이해하는 것이 중요합니다.

2-1. 묵시적 형변환 (Implicit Casting)

  • 작은 타입 → 큰 타입으로 변환
  • 자동으로 처리, 데이터 손실 없음
int i = 500000;
long l = i; // 묵시적 형변환 (자동)

2-2. 명시적 형변환 (Explicit Casting)

  • 큰 타입 → 작은 타입으로 변환
  • 데이터 손실 가능, 반드시 (타입) 명시 필요
long l = 10000000000L;
int i = (int) l; // 명시적 형변환, 데이터 손실 가능
System.out.println(i); // 출력: -147483648

⚠️ 주의: 큰 값(long)을 int로 변환하면 값이 잘못 나올 수 있습니다.


자바 진수 체계

Java는 2진수, 8진수, 10진수, 16진수를 지원합니다.

예제

int decimal = 10;       // 10진수
int octal = 010;        // 8진수 (8)
int hex = 0x10;         // 16진수 (16)
int binary = 0b1010;    // 2진수 (10)

진수 규칙

  • 0으로 시작 → 8진수
  • 0x로 시작 → 16진수
  • 0b로 시작 → 2진수
  • 10진수는 0~9
  • 16진수는 0~9, A~F (A=10, B=11 … F=15)

진수 변환 메서드

Integer.toBinaryString(10); // "1010"
Integer.toHexString(10);    // "a"
Integer.toOctalString(10);  // "12"

⚠️ 주의: 다른 진수 사용은 코드 가독성을 떨어뜨리므로, 가능하면 10진수를 기본으로 사용하세요.


참고 자료

  • 형 변환 - Wikipedia
  • BackendCode: Java Wrapper Class
  • Udemy Java Programming

정리

  • Wrapper Class를 활용하면 자료형의 크기와 범위를 쉽게 확인 가능
  • 형변환은 묵시적(자동)과 명시적(강제)으로 나뉘며, 데이터 손실 여부를 확인해야 함
  • 진수 체계와 변환 메서드를 알고 있으면 진수 관련 연산과 출력이 편리함

'Programming Language > Java' 카테고리의 다른 글

[TIL] Java 불리안, 문자형, 그리고 정적 메서드 정리  (0) 2025.10.19
[TIL] Java 부동소수점(float, double)과 BigDecimal 정확도 차이 이해하기  (0) 2025.10.18
[TIL] 자바(Java) 생성자(Constructor) 완벽 정리: 메소드 오버로딩과 함께 사용하는 예제  (0) 2025.10.16
[TIL] Java 객체의 상태와 캡슐화 - Setter, Getter로 배우는 OOP 기본  (0) 2025.10.15
[WIL] 자바 주간 회고  (0) 2025.10.13
'Programming Language/Java' 카테고리의 다른 글
  • [TIL] Java 불리안, 문자형, 그리고 정적 메서드 정리
  • [TIL] Java 부동소수점(float, double)과 BigDecimal 정확도 차이 이해하기
  • [TIL] 자바(Java) 생성자(Constructor) 완벽 정리: 메소드 오버로딩과 함께 사용하는 예제
  • [TIL] Java 객체의 상태와 캡슐화 - Setter, Getter로 배우는 OOP 기본
dev_Hyeonjoon
dev_Hyeonjoon
문제를 풀며 사람들에게 감동✨을 전하고 가치를 만드는 개발자가 되고 싶습니다 💻
  • dev_Hyeonjoon
    Hyeonjoon's code
    dev_Hyeonjoon
  • 전체
    오늘
    어제
    • 분류 전체보기 (50)
      • Programming Language (29)
        • JavaScript (0)
        • Java (27)
      • Front-end (10)
        • React-project (5)
        • Vanilla[JS]-project (5)
        • study (0)
      • AI Tools (1)
      • Back-end (0)
      • 독서록 (0)
      • 기타 (5)
      • Trouble Shooting (2)
        • Python (1)
      • 자격증 (1)
      • 알고리즘 (1)
        • 백준 (1)
      • FrameWork (0)
        • Node.js (Express.js) (0)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    Til
    파이썬
    자바공부
    형변환
    자바기초
    vanillajs
    객체지향
    OOP
    자바
    구름IDE
    조건문
    토이프로젝트
    바닐라js
    코딩
    리액트
    군자기계발
    사지방코딩
    군대에서코딩
    Java
    사지방
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
dev_Hyeonjoon
[TIL] Java 자료형과 형변환 완전 정리 (Wrapper Class · 진수 체계)
상단으로

티스토리툴바