Java 언어의 값·객체·타입 규칙과 컬렉션의 동작을 살펴보고, 자료구조의 구현과 비용 분석으로 이어지는 자료입니다. 이전 Java 튜토리얼은 기본 개념을 읽는 데 활용하고 API·도구 사용은 프로젝트 버전과 맞춰 확인할 수 있습니다.
객체와 값의 의미
-
equals·hashCode의 계약과 clone·getClass의 동작을 확인할 수 있습니다.
-
문자열의 불변성, 비교와 valueOf 변환을 통해 타입 캐스팅과 문자열 표현의 차이를 살펴볼 수 있습니다.
-
Passing Information to a Method or a Constructor — Oracle Java Tutorials
기본형 값과 객체 참조 값이 메서드 인자로 전달될 때의 동작을 예제로 설명합니다.
-
Secure Coding Guidelines for Java SE — Oracle
가변 객체의 공유를 제한하는 방어적 복사와 입력·반환값의 객체 상태 보호를 다룹니다.
-
Using Records to Model Immutable Data — Dev.java
Record의 구성 요소·생성자·자동 생성 메서드를 설명하며 가변 객체를 구성 요소로 사용할 때도 살펴볼 수 있습니다.
예외와 타입
-
예외 포착·전파, 예외 종류와 try-with-resources를 이용한 자원 관리를 다룹니다.
-
타입 매개변수·상속·와일드카드와 타입 소거를 통해 제네릭의 타입 제약을 설명합니다.
-
Generics, Lambda, and Pattern Matching — Dev.java
람다와 함수형 인터페이스, 제네릭 및 패턴 매칭 학습 자료로 연결합니다.
-
Working with Records through Reflection — Dev.java
리플렉션으로 Record 여부와 구성 요소를 확인하는 예제를 제공합니다.
컬렉션과 알고리즘
-
The Collections Framework — Dev.java
List·Set·Queue·Map과 구현 선택, 컬렉션 순회·정렬·비교를 다룹니다.
-
초기 용량·ensureCapacity·배열 확장과 주요 연산 비용을 설명합니다.
-
Algorithms, 4th Edition — Sedgewick·Wayne
스택·큐·연결 리스트·탐색 트리·해시 테이블·트라이와 시간·공간 비용을 Java 구현으로 공부할 수 있습니다.
-
Algorithms Lecture Slides — Sedgewick·Wayne
알고리즘 분석과 자료구조의 동작을 도식·예제·시연으로 살펴볼 수 있습니다.
-
Encapsulated Collection — Martin Fowler
컬렉션의 변경 연산을 객체가 관리하도록 설계하는 이유를 설명해 일급 컬렉션의 설계 취지와 함께 읽을 수 있습니다.
컴파일과 실행
-
javac·java·javap 등 컴파일·실행·바이트코드 분석 도구의 공식 학습 자료로 연결합니다.