2024/12/01 3

[JAVA] 기초 - 제네릭(Generic)

01. 제네릭(Generic) 컴파일 시점에 데이터 타입을 미리 지정할 수 있는 기능객체의 타입을 명확히 지정하여, 잘못된 타입의 데이터를 다루는 실수를 방지할 수 있음.제네릭 문법: 보통 **꺾쇠괄호()**를 사용해 타입 매개변수를 정의class 클래스명 { /* 제네릭 클래스 정의 */ }interface 인터페이스명 { /* 제네릭 인터페이스 정의 */ }*T는 Type의 약자로, 보통 관습적으로 사용되며 다른 이름도 가능02. 종류   : 제네릭 클래스, 제네릭 메서드, 그리고 와일드카드(Generic Wildcards)로 나뉨.      (1) 제네릭 클래스: 클래스가 다룰 데이터 타입을 클래스 정의 시점이 아닌 객체 생성 시점에 결정할 수 있음. *정의*class Box { private..

JAVA 기초 2024.12.01

[JAVA] 자료구조 - 배열(Array)

01. 배열(Array)많은 수의 데이터를 다룰 때 사용하는 자료구조각 데이터는 인덱스와 1:1 대응데이터가 메모리상에 연속적 저장 (물리적 연속적)Data'a''b''c''d'...Index0123...02. 장점과 단점장점: 인덱스(Index)를 이용하여 데이터에 빠르게 접근 가능         ex) arr[0] => 'a' , arr[1] => 'b' , arr[2] => 'c', ...단점: 데이터의 추가/삭제 번거로움         - 미리 최대 길이를 정해서 생성         - 가변 길이의 배열은 배열의 크기를 변경할 때마다 새로운 배열 생성         - 데이터 삭제시, 인덱스를 유지하기 위해 빈 공간 유지03. 구현하기 - 구조 익히기import java.util.Arrays;/*..

[JAVA] 자료구조 - 소개

01. 자료구조(Data Structure)란?   자료를 효율적으로 관리하기 위한 구조 (관리: 저장/삭제/탐색)   목적에 맞게 사용한 자료구조 --> 실행시간 단축 &&  메모리 용량 절감   알고리즘과 밀접한 관계02. 자료구조 분류 선형 자료구조(Linear Data Structures)비선형 자료구조(NonLinear Data Structures)정의데이터가 1:1 관계를 가지며, 순서대로 배치되는 구조데이터 간의 관계가 1:N 또는 N:M과 같은 형태로,계층적이거나 복잡한 구조특징데이터가 선형적으로 연결되어 있음    -> 순차적으로 탐색하거나 접근하기 쉬움데이터간의 연결이 비선형적   -> 탐색 및 처리방식이 더 복잡함예시배열 (Array) , 연결리스트 (Linked List) ,스택 (..