2024/05/17 5

자바에서 자주 쓰는 자료구조 2

자바에서 HashMap은 어떻게 작동하며, hashCode 메소드와의 관련성은 무엇인가요?Java에서 HashMap의 작동 원리와 hashCode 메소드의 관련성HashMap의 기본 구조Java의 HashMap은 키-값 쌍을 저장하는 자료 구조로, 내부적으로 배열과 링크드 리스트 또는 트리를 사용하여 데이터를 관리합니다. HashMap은 해싱(hashing) 기법을 사용하여 데이터를 빠르게 검색, 삽입, 삭제할 수 있도록 설계되었습니다.내부 구조배열:HashMap은 초기에는 배열을 사용하여 데이터를 저장합니다. 배열의 각 요소는 버킷(bucket)이라고 불리며, 각 버킷은 링크드 리스트 또는 트리를 참조할 수 있습니다.해싱:HashMap은 키의 해시 코드를 사용하여 데이터를 버킷에 분배합니다. 해시 코드..

[프래피티] 2024.05.17

자바에서 자주 쓰는 자료구조1

ArrayList에서 동적 확장이 일어날 때, 내부적으로 어떤 알고리즘을 사용하여 배열의 크기를 얼마나 늘리나요? 그리고 ArrayList의 성능에 미치는 영향은 무엇인가요?ArrayList의 내부 구조와 동작 원리에 대해 더 깊이 설명하겠습니다.ArrayList는 내부적으로 Object[] 배열을 사용하여 데이터를 저장합니다. 이 배열의 초기 크기는 10으로 설정됩니다. 사용자가 요소를 추가하면, 이 배열의 크기가 자동으로 조정됩니다.동적 확장(Dynamic Expansion) ArrayList는 내부적으로 배열의 크기를 확장합니다. 이 과정은 다음과 같이 진행됩니다.크기 확인: 요소를 추가하기 전에 ArrayList는 현재 배열의 크기가 충분한지 확인합니다.확장 필요: 크기가 부족하면 새로운 배열을 ..

[프래피티] 2024.05.17

자바 어노테이션

자바의 어노테이션은 무엇이며, 주로 어떤 용도로 사용되나요?자바 어노테이션은 코드에 메타데이터를 추가하는 방법으로, 주로 코드의 의미를 설명하거나 컴파일러에게 추가 정보를 제공하기 위해 사용됩니다. 어노테이션은 클래스, 메서드, 변수, 매개변수 등 다양한 요소에 붙일 수 있으며, 자바 런타임 환경이나 빌드 도구에서 해당 정보를 활용할 수 있습니다.어노테이션의 주요 용도컴파일러 지시자 (Compiler Instructions):어노테이션은 컴파일러에게 특정 작업을 지시하거나 경고를 억제하는 데 사용됩니다.런타임 처리 (Runtime Processing): 런타임에 리플렉션(reflection)을 통해 어노테이션 정보를 읽어 특정 동작을 수행할 수 있습니다.빌드 도구 지원 (Build Tool Support..

[프래피티] 2024.05.17

Checked Exception과 Unchecked Exception

Checked Exception과 Unchecked Exception의 차이는 무엇인가요? 그리고 각각을 처리하는 방법에는 어떤 차이가 있을까요?Checked Exception은 컴파일러가 강제로 처리하도록 요구하는 예외입니다.Unchecked Exception은 컴파일러가 강제로 처리하도록 요구하지 않는 예외입니다.차이점은 처리 방법의 차이가 있는데 Checked Exception 처리 방법에는 try-catch 블록이 있고, Unchecked Exception 처리 방법에는 try-catch 블록으로 처리하지 않아도 되지만, 필요에 따라 예외 처리를 통해 프로그램의 안정성을 높일 수 있습니다.Checked Exception과 Unchecked Exception은 자바의 예외 처리에서 중요한 역할을 합..

[프래피티] 2024.05.17

자바의 예외

Exception은 무엇이고, 자바에서의 Exception 처리 방식에 대해 설명해주세요.exception은 프로그램 실행 중 발생하는 예외적인 상황을 나타내는 객체입니다.주로 프로그램의 정상적인 흐름을 방해하는 오류를 의미하며, 자바에서는 이러한 예외를 처리할 수 있는 매커니즘을 제공합니다.try-catch블록finally 블록throw 키워드throws 키워드Exception 계층 구조error: 시스템 레벨의 심각한 문제exception: 애플리케이션 예외로, 정상 흐름을 유지할 수 있습니다.Runtimexception:예외 처리가 필요 없습니다.프로그램의 안정성과 신뢰성을 높이는 중요한 기법입니다.자바에서 checked 예외와 unchecked 예외의 차이점은 무엇이며, 어떤 상황에서 어떤 예외를..

[프래피티] 2024.05.17