⏳ Time Log/1. One Day (Daily · TIL)

Day 15 (11/7) - 👨‍🏫특강 및 Java 인터페이스 및 추상클래스

this.Serena 2026. 2. 19. 00:01

 

📝 오늘의 강의 요약

핵심 키워드: 컬렉션 프레임워크(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) 학습 예정

 

💡 학습 팁

  1. Stack & Queue 실습: LinkedList 클래스가 Queue 인터페이스를 구현하고 있으므로, Queue 객체 생성 시 new LinkedList<>()를 활용해 볼 것
  2. Set 선택 기준: 단순히 중복 제거가 목적이면 HashSet, 정렬이 필요하면 TreeSet, 입력 순서 유지가 필요하면 LinkedHashSet을 선택하는 것이 핵심