-
Wrapper(래퍼) 클래스카테고리 없음 2020. 3. 21. 21:24
Wrapper(래퍼) 클래스
- 8개의 기본 타입에 해당하는 데이터를 객체로 포장해주는 클래스
- 래퍼 클래스는 각각의 타입에 해당하는 데이터를 인수로 전달받아, 해당 값을 가지는 객체로 만들어줌
박싱(Boxing)과 언방싱(UnBoxing)
- 래퍼 클래스는 산술 연산을 위해 정의된 클래스가 아니므로, 인스턴스에 저장된 값을 변경할 수 없음
- 단지, 값을 참조하기 위해 새로운 인스턴스를 생성하고, 생성된 인스턴스의 값만을 참조 가능
위의 그림같이 기본 타입의 데이터를 래퍼 클래스의 인스턴스로 변환하는 과정을 박싱(Boxing)
래퍼 클래스의 인스턴스에 저장된 값을 다시 기본 타입의 데이터로 꺼내는 과정을 언박싱(UnBoxing)
오토 박싱(AutoBoxing)과 오토 언박싱(AutoUnBoxing)
- JDK 1.5부터는 박싱과 언박성이 필요한 상황에서 자바 컴파일러가 이를 자동으로 처리해줌
- 이렇게 자동화된 박싱과 언박싱을 오토 박싱과 오토 언박싱이라고 부름
Interger num = new Integer(18) ; // 박싱 int n - num.intValue(); // 언박싱 -------------------------------------- Character ch = 'X'; // 오토 박싱 (=> Character ch = new Character('X'); 박싱) char c = ch; 오토 언박싱 ( => char c = ch.charValue(); 언박싱 )
객체의 비교는 동등 연산자(==)를 사용해서는 안되고 equals() 메소드를 사용해야 한다.