📝 오늘의 강의 요약
핵심 키워드: 컬렉션 프레임워크(JCF), Stack & Queue, 정렬과 순회, 현직자 특강(커리어 로드맵)
- Java: 데이터 저장 및 조작을 위한 컬렉션 인터페이스 계층 구조 및 주요 메서드 심화 학습
- Java: 자료구조의 핵심인 Stack(LIFO)과 Queue(FIFO)의 동작 원리 및 메서드 비교
- 특강: 현직 개발자 멘토링을 통한 기술 블로그 운영, 포트폴리오 전략, 채용 공고 분석법 습득
☕ Java Collection Framework 심화
1. 컬렉션 인터페이스 계층 및 특징
- Collection: JCF의 루트 인터페이스로 데이터 조작을 위한 추상적인 계약 제공
- List: 요소의 순서 유지 및 중복 허용 (ArrayList, LinkedList)
- Set: 중복을 허용하지 않는 집합 (HashSet, TreeSet, LinkedHashSet)
- Queue: 특정 순서(주로 FIFO)에 따른 데이터 처리 (PriorityQueue, ArrayDeque)
- Map: Key-Value 쌍으로 저장하며 Key의 중복은 불허
2. 주요 인터페이스별 구현체 비교
| 분류 | 구현 클래스 | 주요 특징 및 출력 순서 |
| Set | HashSet | 해시 테이블 사용, 정렬되지 않은 무작위 출력 |
| LinkedHashSet | 삽입된 순서대로 출력 지원 | |
| TreeSet | 값에 따른 오름차순 정렬 출력 지원 | |
| List | ArrayList | 인덱스 기반 검색 최적화, 가변 배열 구조 |
| LinkedList | 노드 연결 구조, 삽입/삭제 시 성능 우수 |
3. Stack vs Queue 자료구조 비교
| 특징 | 스택 (Stack) | 큐 (Queue) |
| 원칙 | LIFO (Last-In, First-Out) | FIFO (First-In, First-Out) |
| 비유 | 접시 쌓기 (나중에 쌓은 게 먼저 나감) | 맛집 줄 서기 (먼저 온 사람이 먼저 나감) |
| 주요 메서드 | push(), pop(), peek(), empty() | add(), poll(), peek(), offer() |
| 활용 예시 | 뒤로 가기, 실행 취소(Undo), 함수 호출 | 작업 스케줄링, 프린터 출력 대기열 |
🛠️ 주요 클래스 및 인터페이스 메서드
1. Arrays 클래스 (배열 조작 유틸리티)
- asList(T... a): 배열을 고정 크기의 List로 변환
- sort(array): 배열의 요소를 오름차순으로 정렬
- fill(array, val): 배열의 모든 요소를 특정 값으로 초기화
- toString(array): 배열 내용을 문자열 형태로 반환
2. Iterator 인터페이스 (컬렉션 순회)
- hasNext(): 다음 요소의 존재 여부를 boolean으로 반환
- next(): 다음 요소를 가져오며 커서 이동
- remove(): next()로 읽어온 요소를 컬렉션에서 제거
🧑🏫 현직자 특강: 개발자 커리어 전략
1. 기술 블로그 및 포트폴리오 관리
- 기술 블로그 추천: 티스토리 권장(SNS 연동성 우수)
- 블로그 작성법: 단순 메모 기록 → GPT를 활용한 가공 → 본인의 개인 의견 추가로 차별화
- 포트폴리오 핵심: 프로젝트 완성도보다 코드 기여도, Git 커밋 스타일, PR(Pull Request) 내역이 중요
2. 취업 준비 및 기업 분석
- 로드맵 활용: roadmap.sh를 통한 분야별 학습 방향성 설정
- 기업 조사: 가고 싶은 회사의 채용공고 '우대사항' 기반 학습, DART 조회를 통한 기업 분석
- 정보 습득: 블라인드, 링크드인, 학과 공지사항 적극 활용
📅 향후 학습 로드맵
- 다음 주 일정: 오전 JSP(Web) / 오후 JavaScript 학습 예정
- 프로그래밍 심화: JS 학습 시 람다(Lambda), 스트림(Stream) 병행 진행
- 기타 주제: 내부 클래스, 익명 객체, 입출력(I/O) 학습 예정
💡 학습 팁
- Stack & Queue 실습: LinkedList 클래스가 Queue 인터페이스를 구현하고 있으므로, Queue 객체 생성 시 new LinkedList<>()를 활용해 볼 것
- Set 선택 기준: 단순히 중복 제거가 목적이면 HashSet, 정렬이 필요하면 TreeSet, 입력 순서 유지가 필요하면 LinkedHashSet을 선택하는 것이 핵심
'⏳ Time Log > 1. One Day (Daily · TIL)' 카테고리의 다른 글
| Day 17 (11/11) - JavaScript 기초 (0) | 2026.02.19 |
|---|---|
| Day 16 (11/10) - Java 예외처리 (0) | 2026.02.19 |
| Day 14 (11/6) - Java 패키지 및 모듈 (0) | 2026.02.19 |
| Day 12 (11/5) - Java 클래스 심화 학습 (0) | 2026.02.19 |
| Day 12 (11/4) - Java 다형성, 추상클래스 및 인터페이스 (0) | 2026.02.19 |