ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 래퍼(Wrapper) 클래스
    Java 2023. 1. 1. 00:41

    래퍼 클래스(Wrapper class)

    기본 타입에 해당하는 데이터를 객체로 포장해 주는 클래스를 래퍼 클래스(Wrapper class)

    래퍼 클래스는 모두 java.lang 패키지에 포함됨

     

    박싱(Boxing)과 언박싱(UnBoxing)

    박싱(Boxing)

    기본 타입의 데이터를 래퍼 클래스의 인스턴스로 변환하는 과정

    언박싱(UnBoxing)

    래퍼 클래스의 인스턴스에 저장된 값을 다시 기본 타입의 데이터로 꺼내는 과정

     

    오토 박싱(AutoBoxing)과 오토 언박싱(AutoUnBoxing)

    JDK 1.5부터는 박싱과 언박싱이 필요한 상황에서 자바 컴파일러가 이를 자동으로 처리해 줌

    자동화된 박싱과 언박싱을 오토 박싱(AutoBoxing)과 오토 언박싱(AutoUnBoxing)이라고 부름

    Integer num = new Integer(17); // 박싱
    int n = num.intValue();               // 언박싱
    System.out.println(n);
     
    Character ch = 'X'; // Character ch = new Character('X'); : 오토박싱
    char c = ch;           // char c = ch.charValue();                   : 오토언박싱
    System.out.println(c);
    17
    X

    오토 박싱을 이용하면 new 키워드를 사용하지 않고도 자동으로 Character 인스턴스를 생성 가능

    charValue() 메소드를 사용하지 않고 오토 언박싱을 이용하여 인스턴스에 저장된 값을 참조 가능

     

    Integer num1 = new Integer(10);
    Integer num2 = new Integer(20);
    Integer num3 = new Integer(10);

    System.out.println(num1 < num2);            // true
    System.out.println(num1 == num3);         // false
    System.out.println(num1.equals(num3)); // true
    true
    false
    true

    래퍼 클래스도 객체이므로 동등 연산자(==)를 사용하게 되면, 두 인스턴스의 값을 비교하는 것이 아니라 두 인스턴스의 주소값을 비교하게 됨

     

    출처 : http://www.tcpschool.com/java/java_api_wrapper

     

    코딩교육 티씨피스쿨

    4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

    tcpschool.com

    'Java' 카테고리의 다른 글

    Map  (0) 2023.06.26
    slf4j log4j logback log4j2  (0) 2023.01.27
    Integer.parseInt와 Integer.valueOf  (0) 2022.12.31
    연산자의 우선순위  (0) 2022.12.27
    String.valueOf와 toString  (0) 2022.12.24
Designed by Tistory.