본문 바로가기

Java Study31

자바(JAVA)의 예외(Exception) 자바에서 예외(Exception)는 크게 두 가지로 분류됩니다: 체크드 예외(Checked Exception)와 언체크드 예외(Unchecked Exception). 여기서는 체크드 예외에 대해 설명하겠습니다. 체크드 예외 (Checked Exception)체크드 예외는 컴파일러가 예외 처리를 강제하는 예외입니다. 이는 프로그램 실행 중에 발생할 가능성이 있는 예외 상황을 미리 예측하고, 이에 대한 처리를 명시적으로 작성하도록 합니다. 체크드 예외는 Exception 클래스의 서브클래스이며, RuntimeException 클래스의 서브클래스는 아닙니다.특징컴파일 시 검사:체크드 예외는 컴파일러에 의해 검사됩니다. 즉, 컴파일 시에 체크드 예외가 제대로 처리되지 않으면 컴파일 오류가 발생합니다.명시적 예외.. 2024. 7. 19.
LinkedList LinkedList 자바의 LinkedList 클래스는 List 인터페이스를 구현한 대표적인 클래스 중 하나로, 이중 연결 리스트(doubly linked list)를 기반으로 합니다. 이는 각 요소가 데이터와 함께 다음 및 이전 요소에 대한 참조를 가지고 있는 데이터 구조입니다. LinkedList는 특히 요소의 삽입과 삭제 작업이 빈번한 경우에 유용합니다. 단일 연결 리스트 (Singly Linked List)단일 연결 리스트는 각 노드가 다음 노드를 가리키는 참조만 가지고 있는 구조입니다. 이는 메모리 사용 측면에서 효율적이지만, 노드 삭제나 이전 노드로 이동하는 작업이 비효율적일 수 있습니다. 원형 연결 리스트 (Circular Linked List)원형 연결 리스트는 마지막 노드가 첫 번째 노드.. 2024. 7. 18.
Collection 인터페이스 Collection Interface Java의 Collection 인터페이스는 컬렉션 프레임워크의 루트 인터페이스로, 다양한 데이터 구조를 표현하는 공통된 메서드를 정의합니다. 이 인터페이스는 여러 컬렉션 클래스를 위한 공통된 동작을 제공하며, 컬렉션을 조작하는 메서드를 정의합니다.  주요 메서드Collection 인터페이스에서 제공하는 주요 메서드는 다음과 같습니다. 크기 관련 메서드int size(): 컬렉션에 포함된 요소의 수를 반환합니다.boolean isEmpty(): 컬렉션이 비어 있는지 여부를 반환합니다.추가 및 제거boolean add(E e): 지정된 요소를 컬렉션에 추가합니다.boolean remove(Object o): 지정된 요소를 컬렉션에서 제거합니다.boolean addAll(.. 2024. 7. 18.
HashSet과 HashMap HashSet과 HashMap HashSet과 HashMap은 자바 컬렉션 프레임워크에서 데이터를 저장하고 관리하는 데 사용되는 두 가지 주요 클래스입니다. 두 클래스 모두 해시 테이블 기반의 데이터 구조를 사용하지만, 그 목적과 사용 방식은 다릅니다. 해쉬코드 (hashCode)해쉬코드는 객체를 식별하기 위한 정수 값입니다. 자바에서 모든 객체는 hashCode( ) 메서드를 가지고 있으며, 이 메서드는 객체의 메모리 주소를 기반으로 한 정수 값을 반환합니다. 해쉬코드는 객체를 해쉬맵이나 해쉬셋 같은 해쉬 기반의 컬렉션에 저장하거나 검색할 때 사용됩니다. 동일한 객체는 동일한 해쉬코드를 가져야 하고, 동일하지 않은 객체는 가능한 서로 다른 해쉬코드를 가져야 합니다. HashSetHashSet은 집합(S.. 2024. 7. 18.
Type Erasure(타입 소거) Type Erasure(타입 소거)Java의 제네릭이 런타임 시 타입 정보를 유지하지 않고 컴파일 타임에만 사용되는 메커니즘을 말합니다. 이는 제네릭의 타입 정보가 컴파일 시점에서 제거되고, 런타임에는 원래의 비제네릭 타입으로 변환되는 것을 의미합니다. 타입 소거 덕분에 제네릭이 자바 1.5 이전의 코드와 호환성을 유지할 수 있습니다.타입 소거(Type Erasure)는 Java에서 제너릭을 도입할 때, 기존의 코드와의 하위 호환성(Backward Compatibility)을 유지하기 위해 채택된 메커니즘입니다. 자바 5 때 도입 됐으므로 그전 자바 버전에서는 제너릭을 인식 못하기 때문에 타입 소거 타입 소거의 작동 방식제네릭 타입 정보 제거: 컴파일러는 제네릭 타입 정보를 제거하고 원래의 비제네릭 타입.. 2024. 7. 18.
@ 어노테이션 (Annotation) 어노테이션(Annotation)은 Java에서 코드에 메타데이터를 추가하는 방법입니다. 어노테이션은 컴파일러에게 지시를 내리거나, 런타임 시 특정 행동을 수행하도록 할 수 있습니다. 어노테이션은 클래스, 메소드, 필드, 매개변수 등에 붙여서 사용합니다.  어노테이션의 정의어노테이션은 @ 기호로 시작하며, 다음과 같은 형태로 정의됩니다.// 어노테이션 정의import java.lang.annotation.*;@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public @interface MyAnnotation { String value(); int number() default 0;} @Retention: 어노테이션의 유지 정책을 정.. 2024. 7. 18.