자바의 사용법과 동작원리에 대해 학습합니다. 어떻게 해당 자료구조를 사용할 수 있는가? 어떻게 값을 전달하는가? 물음으로부터 시작하여 자바 구조와 동작 원리를 깊이 학습합니다. 이를 통해 최적화된 구조로 프로그래밍하고 동시성 문제를 해결하며, 기본적인 스프링 구조에 대한 학습 난이도를 낮춥니다.
<aside> 💡 목차
</aside>
참고 내용
⇒ 자바의 자료형은 primitive type과 reference type으로 나뉜다.
⇒ 프로그래밍을 하다 보면 기본 타입의 데이터를 객체로 표현해야 하는 경우가 생긴다. 이때 primitive type을 객체로 다루기 위해 어떠한 클래스들을 사용하는데, 이것들을 wrapper class(값을 포장하여 객체로 만들어줌)라고 한다.
⇒ wrapper class는 모두 java.lang 패키지에 포함되어 제공됨. wrapper class를 이용하면 각 타입에 해당하는 데이터를 파라미터로 전달받아 해당 값을 가지는 객체로 만들어줌.
⇒ 프로그래밍을 하다 보면 wrapper class를 이용해 만든 객체 안의 값을 더하거나 등 변환시켜야할 경우가 있는데, 이때는 포장을 다시 뜯어야 한다. Boxing : 기본 타입의 데이터 → wrapper class의 인스턴스로 변환 UnBoxing : wrapper class의 인스턴스에 저장된 값 → 기본 타입의 데이터로 변환
AutoBoxing & AutoUnBoxing
⇒ Boxing : 기본 타입의 데이터 → wrapper class의 인스턴스로 변환
⇒ UnBoxing : wrapper class의 인스턴스에 저장된 값 → 기본 타입의 데이터로 변환
⇒ JDK 1.5부터 Boxing과 UnBoxing이 필요한 상황에 자바 컴파일러가 자동으로 처리해주기 시작. 이렇게 자동화된 Boxing과 UnBoxing을 AutoBoxing과 AutoUnBoxing이라고 부른다.
예시 코드
Integer num = new Integer(17); // Boxing
Integer num = 17; // AutoBoxing