- static, 생성자
- Enum, 함수형 인터페이스, 스트림, 쓰레드
- final 키워드
- call by reference vs value
- gradle 빌드 과정
- Garbage Collection
- Optional
- Function, Supplier, BiFunction, Predicate
- interface, abstract class
- Exception
- lambda
- JVM
- JVM Runtime Data Area
- equals vs hashcode
- 단위테스트, TDD
- junit4와 junit5의 차이
- junit vs assertj
- private 메서드 테스트
- 컨트롤러, 도메인, 유틸
- MVC 패턴
- 비즈니스 로직
- DAO, DTO, VO, ENTITY
- Service, 라우터
- 커넥션 풀링
- layer
- 싱글턴 패턴, 전략 패턴
- 정적팩토리메서드
- 템플릿 메서드 패턴
- 데코레이터 패턴
- 프록시 패턴
- 어댑터 패턴
- 옵저버 패턴
- 미디에이터 패턴
- 파사드 패턴
- 추상 팩토리 패턴
- 컴포지트 패턴
- 널 객체 패턴
- 버전 관리
- git의 상태
- gitignore, gitattribute
- 문법
- JSP
- JPA
- IOC
- DI
- 데이터 독립성
- 데이터의 무결성
- 데이터의 보완성
- 데이터의 일관성
- 데이터 중복 최소화
- 순차 I/O, 랜덤 I/O
- 정규화
- 프레임워크, 라이브러리, API
- SQL
- REST