[JAVA]Warpper Class

집 가고 싶다.·2024년 1월 9일

JAVA

목록 보기
28/33
post-thumbnail

Wrapper Class

  1. 개요
  • Java의 기본 자료형을 객체로 다룰 수 있게 해주는 클래스.
  • 초창기에 많이 사용됐지만, 최근 Java에서는 기본 자료형과의 연산에 차이가 없어졌다.
  1. 객체 생성
  • Wrapper 클래스의 객체 생성은 해당 기본 자료형의 값을 파라미터로 받아 생성.
int num = 1;
Integer wrapper = new Integer(num);
  1. 형변환
  • Wrapper 클래스와 기본 자료형 간 암묵적 형변환 가능.
int num = 1;
Integer wrapper = num;
  1. Static 데이터
  • Wrapper 클래스는 최소값과 최대값을 가지고 있다.
int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;
  1. 문자열 형변환
  • 기본 자료형과 문자열 간 연산 시, 기본 자료형은 문자열로 변환 후 연산.
int a = 1;
String b = "1";
System.out.println(a + b);  // "11"
  1. 문자열을 기본 자료형으로 변환
  • Integer.parseInt() 메서드를 사용하여 문자열을 기본 자료형으로 변환 가능.
String money1 = "3000";
String money2 = "5000";
int m1 = Integer.parseInt(money1);
int m2 = Integer.parseInt(money2);
System.out.println(m1 + m2);  // 8000

예제 코드

public class Wrapper {
    public static void main(String[] args) {
        // Wrapper 객체 생성
        Integer intWrapper = new Integer(42);
        Double doubleWrapper = new Double(3.14);

        // Auto-boxing: 원시 자료형에서 Wrapper로의 암묵적 변환
        Integer autoBoxed = 10;

        // Unboxing: Wrapper에서 원시 자료형으로의 암묵적 변환
        int unboxed = intWrapper;

        // Wrapper 클래스의 정적 데이터
        int maxInt = Integer.MAX_VALUE;
        int minInt = Integer.MIN_VALUE;

        System.out.println("Wrapper 객체: " + intWrapper + ", " + doubleWrapper);
        System.out.println("Auto-boxing: " + autoBoxed);
        System.out.println("Unboxing: " + unboxed);
        System.out.println("int의 최대 및 최소 값: " + maxInt + ", " + minInt);

        // 문자열에서 기본 자료형으로 변환
        String strNum = "25";
        int parsedNum = Integer.parseInt(strNum);
        System.out.println("문자열을 int로 변환: " + parsedNum);

        // 기본 자료형에서 문자열로 변환
        int num = 30;
        String strResult = Integer.toString(num);
        System.out.println("int를 문자열로 변환: " + strResult);
    }
}

실행 결과

Wrapper 객체: 42, 3.14
Auto-boxing: 10
Unboxing: 42
int의 최대 및 최소 값: 2147483647, -2147483648
문자열을 int로 변환: 25
int를 문자열로 변환: 30
profile
틀린거 있으면 알려주세요.

0개의 댓글