Java 봉인 클래스와 완전성 검사 패턴 매칭
Java의 sealed 클래스와 exhaustive pattern matching은 switch가 모든 하위 타입을 처리하는지 컴파일 시점에 검사합니다. 하지만 공개 API에 새 하위 타입을 추가하면 재컴파일한 소비자 코드가 깨질 수 있고, 재컴파일하지 않은 코드는 새 값 처리 시 MatchException을 던질 수 있습니다.
AI, 개발 도구, 오픈소스, 보안과 인프라의 변화와 이용 조건을 설명하는 최신 기사와 해설입니다.
Java의 sealed 클래스와 exhaustive pattern matching은 switch가 모든 하위 타입을 처리하는지 컴파일 시점에 검사합니다. 하지만 공개 API에 새 하위 타입을 추가하면 재컴파일한 소비자 코드가 깨질 수 있고, 재컴파일하지 않은 코드는 새 값 처리 시 MatchException을 던질 수 있습니다.
Rust에 named argument와 optional argument를 추가하자는 pre-RFC 성격의 글입니다. Dart, C#, TypeScript의 문법과 Rust의 구조체·builder 패턴을 비교하고, 가독성·보일러플레이트·API 확장성 문제를 해결할 설계 후보와 반론을 함께 정리합니다.