🎈 예외(Exception)예외(Exception)란?프로그램 실행 중 예상치 못한 문제가 발생하는 상황을 의미한다.이는 정상적인 명령 흐름을 방해하는 런타임 오류이며, 단순한 문법 오류(Syntax Error)와는 다르다.📍 예외가 발생하는 대표적인 사례0으로 나누기 → ArithmeticException배열의 범위를 벗어난 접근 → ArrayIndexOutOfBoundsException잘못된 객체 참조 (Null 값 참조) → NullPointerException 🎈 예외 처리(Exception Handling)예외 처리(Exception Handling)란?예외가 발생했을 때, 프로그램이 갑자기 종료되지 않도록 하고, 적절한 대처를 통해 정상적인 흐름을 유지하는 방법이다.💡 예외 처리가 필..
객체를 복사하는 방식에는 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy) 두 가지가 있다. 얕은 복사(Shallow Copy)참조 값만 복사하므로, 원본 객체와 복사된 객체가 동일한 메모리 공간을 참조한다.즉, 복사된 객체를 수정하면 원본 객체도 함께 변경된다.깊은 복사(Deep Copy)새로운 메모리 공간(Heap 영역)에 실제 값을 복사한다.따라서, 원본 객체와 복사된 객체는 서로 독립적이며, 한쪽을 수정해도 다른 객체에 영향을 주지 않는다. 다음과 같이 이름(name), 나이(age)를 가지는 Person 클래스가 있다고 해보자.public class Person { String name; int age; public Person(String name, i..
getOrDefaultgetOrDefault는 Java 8에서 추가된 Map 인터페이스의 디폴트 메서드 중 하나이다.V getOrDefault(Object key, V defaultValue)이 메서드는 지정한 key가 존재하면 그 value를 반환하고, 존재하지 않으면 defaultValue를 반환한다. 즉, null로 인해 발생할 수 있는 예외 상황을 깔끔하게 처리할 수 있는 안전한 조회 방식이다. 사용법getOrDefault(Object key, V defaultValue)key : 조회하려는 키defaultValue : 키가 없을 때 반환할 기본값키가 존재하면 해당 값을 그대로 반환하고, 키가 없으면 defaultValue를 그대로 반환한다. Java 구현 예시import java.util.Has..
백준 10826번 피보나치 수 4 문제를 풀던 중, long 타입의 범위를 넘어서는 큰 정수를 계산해야 했고, 이를 해결하기 위해 Java에서 long 타입의 범위보다 더 큰 자료형을 찾아보던 중 BigInteger를 발견했다. 이번 글에서는 BigInteger가 필요한 이유와 기본적인 사용법을 정리해 보려고 한다. BigInteger를 사용해야 하는 이유타입범위메모리 크기(64bit 기준)기본/참조형저장된 위치int-2,147,483,648 ~ 2,147,483,6474 Byte기본형 Stack/레지스터 long-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,8078 Byte기본형 Stack/레지스터 BigInteger메모리가 허용하는 한 무한대가변적(숫자 ..
프로젝트에서 11 버전을 사용하다가 17 버전으로 변경해야 해서 '버전 변경하는 방법'을 기록해보려 한다!인텔리제이에서 Project Structure의 4곳과 Settings의 2곳, 총 6곳을 수정하면 된다. Project Structure💡 Project Structure 찾아가기 : 단축키 SHIFT+CTRL+ALT+S 또는 File > Project Structure 1️⃣ Project Settings > ProjectSDK와 Language Level을 변경한다. 2️⃣ Project Settings > ModulesLanguage Level을 변경한다. 3️⃣ Platform Settings > SDKs원하는 JDK를 선택한다. Settings💡 Settings 찾아가기 : 단축키 CT..