언어/Java

래퍼 클래스 (Wrapper Class)

린예라 2024. 4. 18. 02:42

자바는 모든 요소가 객체로 취급되는 대표적인 객체지향 언어이다.

 

하지만 여기서 예외가 있는데 바로 기본자료형들이다.

  1. 정수형(primitive integer types): byte, short, int, long
  2. 부동 소수점형(primitive floating-point types): float, double
  3. 문자형(primitive character type): char
  4. 불리언형(primitive boolean type): boolean

위와 같은 요소들은 객체로 취급되지 않는다.

 

그렇기에 객체로 사용하기 위해서는 객체라는 포장지에 감싸줘야한다. 즉 래핑을 해줘야한다.

이런 역할을 해주는 것을 바로 래퍼 클래스 (Wrapper Class) 라고 한다.

 

다음은 래퍼클래스들의 목록이다. 이 친구들은 모두 객체로 취급된다.

  1. Byte: byte의 래퍼 클래스
  2. Short: short의 래퍼 클래스
  3. Integer: int의 래퍼 클래스
  4. Long: long의 래퍼 클래스
  5. Float: float의 래퍼 클래스
  6. Double: double의 래퍼 클래스
  7. Character: char의 래퍼 클래스
  8. Boolean: boolean의 래퍼 클래스

그렇다면 기본타입을 래퍼클래스로 다뤄야 할 때는 언제가 있는가?

 

1.래퍼클래스에서 제공하는 다양한 메소드들을 사용하기 위해.

 

2.컬렉션 또는 제네릭을 사용할 때, 컬렉션이나 제네릭에서는 객체만을 저장한다.

 

3.메소드의 매개변수로 객체가 요구될 때.

 

4.Null 값을 표현 할 때, 기본 데이터 타입은 Null 값을 가질 수 없다.

 

5.객체지향적인 설계를 위해 기본타입과 객체타입을 일관되게 다루고 싶을 때.