설명 대답은 B입니다. 코드 조각에 런타임 시 MissingResourceException을 발생시키는 논리적 오류가 포함되어 있기 때문입니다. 코드 조각은 기본 이름이 "Captions.properties"이고 로캘이 "en_US"인 리소스 번들을 로드하려고 시도합니다. 그러나 클래스 경로에는 이러한 리소스 번들이 사용 가능하지 않습니다. 사용 가능한 리소스 번들은 다음과 같습니다: 캡션.속성 Captions_en.properties Captions_US.properties Captions_en_US.properties ResourceBundle 클래스는 대체 메커니즘을 따라 지정된 로케일에 가장 잘 일치하는 리소스 번들을 찾습니다. 먼저 정확한 로케일을 가진 리소스 번들을 찾으려고 시도한 다음 동일한 언어 및 스크립트를 가진 리소스 번들을 찾으려고 시도한 다음 동일한 언어를 가진 리소스 번들을 찾으려고 시도하고 마지막으로 기본 리소스를 찾으려고 시도합니다. 로캘이 없는 번들입니다. 이러한 리소스 번들이 발견되지 않으면 MissingResourceException이 발생합니다. 이 경우 코드 조각은 기본 이름이 "Captions.properties"이고 로캘이 "en_US"인 리소스 번들을 찾고 있습니다. ResourceBundle 클래스는 다음 리소스 번들을 순서대로 찾으려고 시도합니다. Captions.properties_en_US Captions.properties_en 캡션.속성 그러나 이러한 리소스 번들은 클래스 경로에 존재하지 않습니다. 따라서 ResourceBundle 클래스는 MissingResourceException을 발생시킵니다. 이 오류를 수정하려면 코드 조각이 리소스 번들 제품군의 올바른 기본 이름을 사용해야 합니다. ".properties" 확장자가 없는 "캡션"입니다. 예를 들어: ResourceBundle captions = ResourceBundle.getBundle("Captions", currentLocale); 그러면 현재 로케일에 적합한 리소스 번들(이 경우 "Captions_en_US.properties")이 로드됩니다. 참고자료: Oracle Certified Professional: Java SE 17 개발자 자바 SE 17 개발자 OCP Oracle Certified Professional Java SE 17 개발자 학습 가이드 ResourceBundle(Java 플랫폼 SE 8) ResourceBundle 클래스 정보(Java™ 자습서 > 국제화)