ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 래퍼클래스 (wrapper) 클래스
    백엔드/자바 2020. 8. 13. 05:49

    래퍼클래스란?

    객제지향에선 모든 것을 객체로 다뤄야 한다.

     

    하지만 일부 기본 자료형(primitive type)는 객체가 아니다.

     

    그래서 이러한 기본 자료형을 객체로 다뤄주기 위해서 래퍼 클래스를 사용해야 한다.

     

    미리 입력된 래퍼 클래스를 이용하면 기본 자료형을 객체로서 다룰 수 있다.

     

    우선 예시부터 보면 다음과 같다.

     

    public static void main(String[] args) {
    		
    	Integer A1 = new Integer(5);  // Integer객체 생성하면서 정수 5 입력
    	Integer A2 = 5;  // Integer 자료형인 참조 변수에 5 저장
    	Integer A3 = 5;  // Integer 자료형인 참조 변수에 5 저장
    		
    	System.out.println(A1==A2);  // false 출력. A1은 Integer 객체를 생성해 주소가 다름
    	System.out.println(A1.equals(A2));  // true 출력. 두 숫자의 크기가 같아서.
    	System.out.println(A2==A3);  // ture 출력. A2와 A3는 객체 생성없이 저장하여 주소값 같음
    	System.out.println(A2.equals(A3));  // true 출력. A2와 A3는 내용이 같아서 true.
    }

     

    래퍼클래스 사용법

    첫번째는 래퍼 클래스의 객체를 생성하면서 객체에 숫자를 저장하는 방법이다.

    Integer 참조변수명 = new Integer( 숫자 입력);

    두번째는 래퍼 클래스가 자료형인 참조변수에 숫자를 저장하는 방법이다.

    Integer 참조변수명 = 숫자입력;

     

    첫번째 방법은 객체를 새로 생성할때마다 주소값이 새로 생성되므로

     

    비교 연산자를 쓰면 객체별로 다르다고 판단한다.

     

    반면 두번째 방법은 객체를 생성하지 않아서 각 변수별로 숫자 크기가 같다면 같은 변수라고 판단한다.

    래퍼 클래스 종류

    기본형

    래퍼클래스 자료형

    의미

    생성법

    boolean

    Boolean

    참, 거짓

    new Boolen (true) ;

    new Boolen ("true") ;

    char

    Character

    문자(한개)

    new Character (10) ;

    new Character ('10') ;

    byte

    Byte

    1바이트 정수형

    new Byte (10) ;

    new Byte ("10") ;

    short

    Short

    2바이트 정수형

    new Short (10) ;

    new Short ("10") ;

    int

    Integer

    4바이트 정수형

    new Integer (100) ;

    new Integer ("100") ;

    long

    Long

    8바이트 정수형

    new Long (100) ;

    new Long ("100") ;

    float

    Float

    4바이트 실수형

    new Float (1.0) ;

    new Float (1.0f) ;

    new Float ("1.0f") ;

    double

    Double

    8바이트 실수형

    new Double (1.0) ;

    new Double ("1.0") ;

     

    표에서 보면 알겠지만 객체를 생성해서 래퍼클래스를 이용하면 텍스트로 입력해도

     

    입력값을 받아 처리할 수 있다.

    기타 사항

    래퍼클래스들은 모두 기본적으로 equals()랑 toString이 오버라이딩 되어있다.

Designed by Tistory.