객체를 복사하는 방식에는 깊은 복사(Deep Copy)와 얕은 복사(Shallow Copy) 두 가지가 있다. 🔹 깊은 복사(Deep Copy)새로운 메모리 공간(Heap 영역)에 실제 값을 복사한다.따라서, 원본 객체와 복사된 객체는 서로 독립적이며, 한쪽을 수정해도 다른 객체에 영향을 주지 않는다.🔹 얕은 복사(Shallow Copy)참조 값만 복사하므로, 원본 객체와 복사된 객체가 동일한 메모리 공간을 참조한다.즉, 복사된 객체를 수정하면 원본 객체도 함께 변경된다. 다음과 같이 이름(name), 나이(age)를 가지는 Person 클래스가 있다고 해보자.public class Person { String name; int age; public Person(String n..
💡 자바의 특징에 대해 설명해 주세요.자바는 객체 지향 프로그래밍 언어입니다.기본 자료형을 제외한 모든 요소들이 객체로 표현되고, 객체 지향 개념의 특징인 추상화, 캡슐화, 상속성, 다형성이 적용된 언어입니다. 자바의 장점으로는,JVM(자바 가상머신) 위에서 동작하기 때문에 운영체제에 독립적입니다.GarbageCollector를 통한 자동적인 메모리 관리가 가능합니다.자바의 단점으로는,JVM(자바 가상머신) 위에서 동작하기 때문에 실행 속도가 상대적으로 느립니다.다중 상속이나 타입에 엄격하며, 제약이 많습니다. 💡 자바의 메모리 영역에 대해 설명해 주세요.자바의 메모리 영역은 크게 Method 영역, Stack 영역, Heap 영역으로 구분되고, 데이터 타입에 따라 할당됩니다.Method 영역전역 변..
백준 10826번 피보나치 수 4 문제를 풀던 중 long형의 범위를 초과하여 오류가 발생하였다.자바에서 long형의 범위보다 더 큰 자료형을 찾아보던 중 BigInteger를 발견했다. 🔹 BigInteger를 사용해야 하는 이유타입범위메모리 크기(64bit 기준)기본/참조형저장된 위치int-2,147,483,648 ~2,147,483,6474 Byte기본형Stacklong-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,8078 Byte기본형StackBigInteger무한 (Infinity)Minimum 70 Byte참조형Heap조건에 의해 굉장히 큰 수의 셈이 필요한 경우, int나 long의 범위를 넘어가게 되면 0이나 내가 의도하지 않았던 값으로 출력된..
프로젝트에서 11 버전을 사용하다가 17 버전으로 변경해야 해서 '버전 변경하는 방법'을 기록해보려 한다 ! 인텔리제이에서 총 6곳을 변경해 주면 된다.🔹 Project Structure (SHIFT+CTRL+ALT+S 또는 File > Project Structure )Project Settings > ProjectSDK, Language Level을 변경한다. Project Settings > ModulesLanguage Level을 변경한다. Platform Settings > SDKs원하는 JDK를 선택한다. 🔹 Settings (CTRL+ALT+S 또는 File > Settings)Build, Execution, Deployment > Build Tools > GradleGradle JV..