AutoBoxing & UnBoxing

동동주·2024년 4월 11일

CS스터디_자바

목록 보기
10/19

autoboxing

원시 타입의 값을 해당하는 wrapper 클래스의 객체로 바꾸는 과정을 의미

  • 가벼운 데이터를 무거운 데이터에 넣기
  • 컴파일러가 primitive Date 를 Object Date로 자동변환 하는 것
  • 기본타입의 값을 포장객체로 만드는 과정
  • 래퍼 클래스에 기본 자료형의 데이터 대입

auto unboxing

Wrapper 클래스 타입을 원시 타입으로 변환하는 과정의 의미
ex) Integer -> int

  • 컴파일러가 Object Data를 primitive Date로 자동변환 하는 것
  • 무거운 데이터를 가벼운 데이터에 넣기
  • 포장객체에서 기본타입의 값을 얻어내는 과정
  • 기본 자료형에 래퍼 객체 대입
  • 참고
  • 자바에는 원시 타입(기본 타입, primitive type) 과 참조 타입(Wrapper 클래스, reference type)이 존재한다.
    - 원시 타입 : int, long, float, double, boolean 등
    - 참조 타입 : Intger, Long, FLoat, Double, Boolean 등
public class prac {
	public static void main(String[] args) {
		int i1 = 10;
		Integer wi = i1; // 오토 박싱
		int i2 = wi; // 오토 언박싱
		
		double d1 = 3.14;
		Double wd = d1; // 오토 박싱
		double d2 = wd; // 오토 언박싱
		
		boolean b1 = true;
		Boolean wb = b1; // 오토 박싱
		boolean b2 = wb; // 오토 언박싱
	}
}

AutoBoxing & UnBoxing의 효과

  • Autoboxing과 unBoxing은 개발자에게 가독성이 높고 깨끗한 코드를 작성하는데 도움을 준다.
  • Autoboxing과 unBoxing을 사용한다면 Wrapper클래스 타입과 원시 타입을 상호 교환 가능하게끔 사용할 수 있다.
  • 명시적으로 타입 캐스팅을 수행하지 않아도 된다.

출처:
https://terry9611.tistory.com/65
https://jwdeveloper.tistory.com/148
https://velog.io/@wkdwoo/AutoBoxing%EC%98%A4%ED%86%A0-%EB%B0%95%EC%8B%B1-UnBoxing%EC%96%B8%EB%B0%95%EC%8B%B1

0개의 댓글