[Java 개발] 제22회 래퍼 클래스 (Wrapper Class)

Java입문강좌

시작하며

여러분 안녕하세요!

DreamHanks의 254cm입니다.

이번 시간에는 래퍼 클래스에 대해서 설명해보도록 하겠습니다.

Java의 전체 기사는 여기를 클릭해 주세요.

이전 기사는 【Java개발】제21회 파일의 입출력에 대해서 배워봤습니다.

래퍼 클래스

래퍼 클래스는 기본형 변수를 객체로 다루기 위한 클래스입니다.

래퍼 클래스는 각 기본형에 해당하는 클래스가 존재하며 해당하는 기본형 값을 가질 수 있습니다.

래퍼 클래스는 기본형과 비슷하지만 래퍼 클래스는 외부에서 값을 변경할 수 없습니다.

래퍼 클래스

샘플

상기의 샘플처럼 기본형의 값을 대입하여 초기화하기도 하고,

new 키워드로 인스턴스를 생성하여 초기화할 수도 있습니다.

래퍼 클래스의 메서드

래퍼 클래스도 일반 클래스처럼 메서드를 가지고 있습니다.

래퍼 클래스는 equals(), compareTo(), 형 캐스트용 메서드 등을 공통으로 가지고 있습니다.

 

샘플

위의 샘플과 같이 형캐스트 메서드를 사용하여 형캐스트를 할 수 있습니다.

그러나, 형 캐스트 메서드는 Number 클래스를 상속하는 클래스 밖에 사용할 수 없습니다.

※Byte, Short, Integer, Long, Float, Double 등이 Number 클래스를 상속받았습니다.

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

기본형 값을 래퍼 클래스에 저장하는 과정을 박싱(Boxing)과

래퍼 클래스 값을 기본형 값으로 변환하는 과정을 언박싱(Unboxing)이라고 합니다.

샘플

Java 5 이전 버전에는 위와 같이 박싱과 언박싱을 했는데,

Java 5 부터 오토박싱과 오토언박싱 기능을 지원했습니다.

오토박싱과 오토언박싱은 기본형 변수 조작 방법처럼 래퍼 클래스를 다루어도 가능하도록 하는       기능입니다.

 

샘플

위와 같이 일반 기본형 변수처럼 사용해도 컴파일러가 권투와 언박싱 처리로 바꿉니다.

 

끝으로

이번 기사는 이상입니다.

다음 번에는 Generic을 배워보겠습니다.

방문해 주셔서 감사합니다.

コメント