Java sealed 타입의 함정 - 새 하위 타입이 기존 코드를 깨뜨릴 수 있다
- Java의 sealed 클래스와 인터페이스는 허용할 하위 타입을 제한해, 컴파일러가 `switch`에서 모든 경우를 처리했는지 검사할 수 있게 함
- 모든 타입을 처리하면 `default` 분기 없이 작성할 수 있고, 빠뜨린 타입이 있으면 컴파일 오류가 발생. 하지만 이 검사는 사용 코드를 컴파일할 때만 작동
- 공개 API의 sealed 타입에 새 하위 타입을 추가하면 기존 `switch`가 재컴파일에 실패할 수 있음. SemVer를 따른다면 메이저 버전을 올려야 하는 호환성 파괴 변경
- 라이브러리만 갱신하고 기존 사용 코드를 그대로 실행하면 …
https://news.hada.io/topic?id=35598
Java sealed 타입의 함정 - 새 하위 타입이 기존 코드를 깨뜨릴 수 있다 - Java의 sealed 클래스와 인터페이스는 허용할 하위 타입을 제한해, 컴파일러가 `swit
GeekNews
@GeekNewsHadaGeekNews 공식 텔레그램 채널입니다. GeekNews 에 올라오는 주요 뉴스를 자동으로 전송합니다. 더 많은 뉴스를 위해서는 긱뉴스를 방문해 주세요. https://news.hada.io 긱뉴스 위클리 뉴스레터를 구독하시면 매주 월요일 아침에 이메일로 주요 뉴스를 받아보실수 있습니다. https://news.hada.io/weekly
2 425 підписників
Відкрити в Telegram