본문 바로가기

reference2

[Java] Boxing을 지양하자.(feat primitive type vs reference type) 모던 자바 인 액션을 공부하는 요즘 왜 자바에 더 집중하지 않았는가에 대한 자아성찰을 많이 하는 중이다. 흔히 말하는 Boxing, unBoxing은 다들 알고있다고 생각한다. 간단하게 말해서, Wrapper Class를 사용해서 primitive Type을 reference Type으로 변환하는 과정을 박싱(Boxing), 이 반대의 과정을 언박싱(unBoxing)이라고 한다. 자바에서는 오토박싱 기능을 제공해주기도한다. 그렇다면 왜 Boxing을 지양해야할까? 결론부터 말하자면, 비용이 추가적으로 발생 한다. 박싱한 값(Wrapper class)은 reference Type이다. 고로 Heap 영역에 저장된다. 그렇기 때문에, primitive Type을 가져오려고할 때도 Wrpper class로 인.. 2021. 4. 8.
[Java] Primitive Type VS Reference Type 자바에서 타입은 크게 기본형 타입과 참조형 타입이 있다. 기본형 타입(Primitive Type) 기본 자료형은 반드시 사용하기 전에 선언되어야 한다. 비객체 타입이기 때문에 null값을 가질 수 없다. 기본형 타입에 Null을 넣고 싶다면 래퍼 클래스를 활용해야한다. 실제 값을 저장하는 공간으로 스택(Stack) 메모리에 저장된다. 컴파일 시점에 데이터의 표현 범위를 벗어나면 컴파일 에러가 발생한다. boolean, byte, short, int, long, float, double, char 참조형 타입(Reference Type) 기본형 타입을 제외한 타입들이 모두 참조형 타입이다. 기본적으로 java.lang.Object를 상속받으면 참조형이 된다. 빈 객체를 의미하는 Null이 존재한다. 값이 .. 2020. 7. 1.