#Java
Java 설계자는 왜 List<Dog>을 List<Animal>로 받지 못하도록 했을까?
2026-01-25 - 자바의 제네릭은 불변성(invariance)을 가진다. 그 이유는 자바가 제네릭을 동질 번역(homogeneous translation)하기 때문이다. 이번 포스트에서는 제네릭의 불변성에 대해 알아보고, 자바가 제네릭을 동질 번역하는 이유를 살펴본다.
자바의 Lambda와 함수형 인터페이스 이해하기
2025-11-07 - 자바의 Lambda 표현식과 함수형 인터페이스에 대해 설명합니다. 컴파일러는 람다의 타입을 어떻게 추론하는지, 람다와 메서드 참조를 활용하여 코드를 간결하게 만드는 방법을 알아봅니다.
시간 제한이 있는 테스트 메서드를 알아보자
2025-10-26 - junit5의 시간 제한 테스트 메서드인 assertTimeOut과 assertTimeoutPreemptively를 설명합니다. 그리고 Scanner가 빈 문자열을 입력받지 못하는 이유를 설명합니다.
HashMap vs TreeMap
2025-09-22 - 자바의 HashMap과 TreeMap의 차이점을 정리합니다. 시간 복잡도, 메모리 사용, 정렬 여부 등 특징을 비교하고 어떤 상황에서 적합한지 알려드립니다.