문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 하드코딩 (문단 편집) === [[로딩|외부 리소스 파일 사용]] === {{{ config.properties }}} {{{ greeting=Hello World! }}} {{{ HelloWorld.java }}} {{{#!syntax java import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class HelloWorld { public static void main(String args[]) { Properties prop = new Properties(); try(InputStream input = new FileInputStream("config.properties")){ prop.load(input); System.out.println(prop.getProperty("greeting")); } catch(IOException e) { e.printStackTrace(); } } } }}} [[Java]] 언어에서 컴파일 없이 설정 파일을 불러오는 방법 중 가장 '''간단한''' 방법. 이 방법은 config.properties 파일이 단순 텍스트 파일이라 재컴파일이 필요없다. 하지만 코드의 길이가 대폭 늘어나고 직관성이 떨어진다. 주석을 달지 않으면 도대체 이게 뭐하는 코드인지 알아볼 수 없을 정도가 된다. 더 복잡한 자료구조를 처리하려면 [[JSON]]이나 [[XML]]을 사용해서 처리하거나 아예 따로 [[DSL]]을 작성해야 한다. 위의 코드보다 코드 길이는 더더욱 늘어난다. 특히 DSL 레벨까지 가면 그 DSL을 처리하는 코드는 사실상의 [[컴파일러]]다. 그렇게 되면 그 [[DSL]]이 스스로의 [[소스 코드]]가 되면서 또다시 하드코딩이 되어버린다. --도대체 어쩌라고-- 게다가 불러올 파일 자체가 [[크고 아름다운|크고 아름답다면]] 그만큼 처리 지연이 생긴다. 일장일단이 있는 셈.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기