Java의 핵심 개념을 왜 이렇게 설계됐는지 위주로 정리합니다. 단순 문법 암기가 아닌, 개념의 존재 이유와 동작 원리를 이해하는 것을 목표로 합니다.
| # | 문서 | 핵심 키워드 |
|---|---|---|
| 01 | OOP (객체지향 프로그래밍) | 캡슐화, 상속, 다형성, 추상화 |
| 02 | 인터페이스 vs 추상클래스 | interface, abstract class, 다중 구현 |
| 03 | 제네릭 | <T>, 타입 안전성, 와일드카드 |
| 04 | 컬렉션 | List, Map, Set, 내부 구조 차이 |
| 05 | 예외 처리 | Checked / Unchecked, try-catch, 커스텀 예외 |
| 06 | 스레드 & 동기화 | Thread, Runnable, synchronized, volatile |
| 07 | JVM & GC | JVM 구조, 메모리 영역, GC 동작 방식 |
| 08 | Stream & 람다 | 함수형 인터페이스, Stream API, 람다식 |
OOP 원칙 이해
↓
인터페이스 vs 추상클래스 (OOP를 코드로 표현하는 방법)
↓
제네릭 & 컬렉션 (실무에서 매일 쓰는 것들)
↓
예외 처리 (안정적인 코드 작성)
↓
스레드 & 동기화 (동시성 문제 이해)
↓
JVM & GC (성능과 메모리 이해)
↓
Stream & 람다 (현대적인 Java 코드 스타일)