본문 바로가기
won2dev-log
HomeArchiveTagsCategoriesAboutProjects
HomeArchiveTagsCategoriesAboutProjects
won2dev-logwon2dev-logwon2dev-log

비전공 개발자의 로그 | won2dev-log

Navigation
  • Home
  • Archive
  • About
  • Projects
Categories
  • Docs
  • TIL
  • Automation
  • Git · GitHub
  • Project
Tags
  • TIL
  • Java
  • Spring
  • Backend
  • n8n
더보기
About

기록을 거름 삼아 공유는 성장을 만든다.

LicensePrivacy
© won2dev 2026. All rights reserved.
Home›Docs›TIL - Java 기초: 기본형과 래퍼 클래스 정리
Docs

TIL - Java 기초: 기본형과 래퍼 클래스 정리

won2dev·2025년 03월 11일
#Java#TIL
TIL - Java 기초: 기본형과 래퍼 클래스 정리
⚠️ 이 글은 저작권 이슈로 인해 일부 내용이 수정 또는 제거되었습니다.

💬 배운 기술 / 지식

  • 자바의 기본형(primitive type)
  • 래퍼 클래스(Wrapper Class)란?
  • 오토박싱 & 언박싱 개념
  • null 처리와 객체 비교 주의점

🔢 자바의 기본형 (Primitive Types)

타입크기기본값예시
int4byte0int age = 25;
double8byte0.0double pi = 3.14;
char2byte'\u0000'char c = 'A';
boolean1bitfalseboolean isOn = true;
  • 총 8가지 기본형 존재 (byte, short, int, long, float, double, char, boolean)
  • 기본형은 객체가 아닌 값 그 자체를 저장함 → 성능 우수

📦 래퍼 클래스 (Wrapper Class)

기본형 (Primitive Type)래퍼 클래스 (Wrapper Class)
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean
  • 기본형을 객체로 감싸는 클래스
  • 컬렉션(List, Map 등)에는 객체만 담을 수 있기 때문에 필요함
  • 예시

java
Integer num = Integer.valueOf(10);
Integer num = Integer.valueOf(10);

🔁 오토박싱과 언박싱

  • 오토박싱: 기본형 → 래퍼 클래스 자동 변환
    java
    Integer i = 10;  // int → Integer
    Integer i = 10;  // int → Integer
  • 언박싱: 래퍼 클래스 → 기본형 자동 변환
    java
    int j = i;  // Integer → int
    int j = i;  // Integer → int
  • 자바 5부터 자동으로 처리되며, 개발자가 신경 쓸 부분 줄어듦

⚠️ 주의할 점

  • null 상태의 래퍼 객체는 언박싱 시 NullPointerException 발생 가능
    java
    Integer i = null;
    int n = i;  // ❌ 런타임 오류
    Integer i = null;
    int n = i;  // ❌ 런타임 오류
  • 기본형은 == 비교 가능, 래퍼 클래스는 .equals()로 값 비교 권장
    java
    Integer a = 128;
    Integer b = 128;
    System.out.println(a == b);         // false (주소 비교)
    System.out.println(a.equals(b));    // true (값 비교)
    Integer a = 128;
    Integer b = 128;
    System.out.println(a == b);         // false (주소 비교)
    System.out.println(a.equals(b));    // true (값 비교)

💡느낀 점 / 참고 사항

  • 기본형은 단순하고 빠르지만, 객체화가 필요한 경우가 많아 래퍼 클래스를 반드시 알아야 함
  • 박싱/언박싱은 자동이지만, 성능이나 null 체크 등은 개발자의 몫
  • 컬렉션을 다루거나 제네릭 타입을 사용할 때 기본형 대신 래퍼 클래스를 사용해야 함
공유하기
이전 글TIL - Java 기초: static, 객체 없이 공유하는 멤버의 비밀다음 글 TIL - Java 기초: JVM 메모리 구조 이해하기

목차

  • 💬 배운 기술 / 지식
  • 🔢 자바의 기본형 (Primitive Types)
  • 📦 래퍼 클래스 (Wrapper Class)
  • 🔁 오토박싱과 언박싱
  • ⚠️ 주의할 점
  • 💡느낀 점 / 참고 사항

카테고리

Docs

태그

#Java#TIL

최근 글

Git 요약 (1) - Rebase, Stash, Squash MergeTIL - MSA 핵심 요소 정리TIL - (4) Spring 어노테이션 정리: Mockito를 활용한 단위 테스트TIL - (3) Spring 어노테이션 정리: Lombok Getter, Setter와 생성자TIL - (2) Spring MVC와 WebFlux의 차이: 블로킹과 논블로킹