Java

[인프런] 래퍼 클래스

sejin2 2024. 6. 9. 13:03

기본형 데이터는 객체가 아니기 때문에, 객체 지향 프로그래밍의 장점을 살릴 수 없다. 
기본형 데이터는 null 값을 가질 수 없다. 항상 값을 가져야 한다.

 

=> 기본형 데이터를 클래스화하여 사용한다. ( wrapper 클래스 )

 

래퍼클래스 

기본 데이터 타입(primitive data types)을 객체로 다루기 위한 클래스이다. 

Java는 객체 지향 프로그래밍 언어이기 때문에 때때로 기본 데이터 타입을 객체로 다루어야 하는 경우가 있다.

자바가 제공하는 기본 클래스는 불변이며, equals 로 비교해야 한다.

기본형을 래퍼 클래스로 변경하는 것을 마치 박스에 물건을 넣은 것 같다고해서 박싱이라고 한다.

 

기본 데이터 타입과 그에 해당하는 래퍼 클래스

  • byte - Byte
  • short - Short
  • int - Integer
  • long - Long
  • float - Float
  • double - Double
  • char - Character
  • boolean - Boolean

래퍼 클래스의 주요 용어

오토 박싱 ( Autoboxing )

기본 데이터 타입을 자동으로 해당하는 래퍼 클래스의 객체로 변환하는 과정을 말한다.

언박싱(Unboxing) 은 래퍼 클래스 객체를 기본 데이터 타입으로 자동 변환하는 과정을 말한다.
이 두 과정은 자바 컴파일러에 의해 자동으로 처리된다.

Integer i = 10; // 오토박싱. 기본 데이터 타입인 int가 Integer 객체로 변환

Integer j = new Integer(10);
int k = j; // 언박싱. Integer 객체가 기본 데이터 타입인 int로 변환

 

래퍼 클래스의 주요 메서드와 성능

  • valueOf ( ) : 래퍼 타입을 반환한다. 숫자, 문자열 모두 지원한다.
  • parseInt ( ) : 문자열을 기본형으로 변환한다.
  • compareTo ( ) : 내 값과 인수로 넘어온 값을 비교한다. 내 값이 크면 1, 같으면 0, 내 값이 작으면 -1을 반환한다.
  • Integer.sum ( ) , Integer.min ( ), Integer.max ( ) : static 메서드로 간단한 덧셈, 작은 값, 큰 값 연산을 수행한다. 

'Java' 카테고리의 다른 글

[인프런] ENUM  (0) 2024.06.15
[인프런] Class 클래스  (1) 2024.06.09
[인프런] String 클래스  (1) 2024.06.08
[인프런] 기본형과 참조형의 공유  (0) 2024.06.06
Labelled Loop ( 이름을 가지는 반복문 )  (0) 2024.06.03