자바의 사용법과 동작원리에 대해 학습합니다. 어떻게 해당 자료구조를 사용할 수 있는가? 어떻게 값을 전달하는가? 물음으로부터 시작하여 자바 구조와 동작 원리를 깊이 학습합니다. 이를 통해 최적화된 구조로 프로그래밍하고 동시성 문제를 해결하며, 기본적인 스프링 구조에 대한 학습 난이도를 낮춥니다.
<aside> 💡 목차
</aside>
자바는 기본 타입(Primitives)을 클래스처럼 사용할 수 있도록 하는 Wrapper Class가 있다. 이를테면 int는 Integer
,double은 Double
을 예로 들 수 있다. 기본 타입의 변수를 Wrapper 클래스로 묵시적 형 변환을 자동으로 해주는 것이 Autoboxing이다. Wrapper Class인 변수를 Primitives로 묵시적 형 변환을 하는 것을 Unboxing이라고 한다.
Autoboxing이 자주 일어나면 객체가 계속 생성되기 때문에 성능 저하가 발생할 수 있고, 특별히 Wrapper Class로 다뤄야 하는 상황(내부 메소드 접근 등)이 아닌 경우, 그냥 일반적인 정수, 실수를 담는 변수는 그냥 Primitive로 사용하면 된다.
public class Main {
public static void main(String[] args) {
Integer foo = 7;
int val = foo;
System.out.println((val + 3) + " " + (foo + 3))
}
}
C:\\Users\\main\\.jdks\\openjdk-22.0.2\\bin\\java.exe "-javaagent:C:\\Program Files\\JetBrains\\IntelliJ IDEA 2024.2.1\\lib\\idea_rt.jar=59456:C:\\Program Files\\JetBrains\\IntelliJ IDEA 2024.2.1\\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath "C:\\Users\\main\\Documents\\Code\\GDSC\\BackendCourse\\Learn Plain Java\\out\\production\\Learn Plain Java" Main
10 10
종료 코드 0(으)로 완료된 프로세스