[ java ] in KIDS 글 쓴 이(By): hell (나누구야) 날 짜 (Date): 1997년10월09일(목) 21시10분09초 ROK 제 목(Title): 자바 프로그램의 전체 구조 (2) ------------------------------------------------------------------------------ 뉴스제공시각 : 01/01 00:00 출처 : 마이크로 제목 : [자바프로그래밍] 자바 프로그램의 전체 구조 (2) ----------------------------------------------------------------------------- 안녕! 자바 애플리케이션과의 첫만남 <예제1>의 원시 코드를 입력해 넣어 보자. 아차! 잊을 뻔했는데 파일 이름은 HiAll.java로 정하도록 하자. <예제 1> HiAll.java /* * HiAll.java: 첫 인사 */ /** * 표준 출력으로 "Hi, all"이라는 문자열을 출력합니다. */ class HiAll { public static void main(String[] args) { System.out.println("Hi, all"); // 안녕? } } 다 입력했으면 컴파일을 해 보자. C나 C++같은 여타 컴파일 언어와 마찬가 지로 위와 같은 자바 원시 코드는 컴퓨터에 의해 수행되기 전에 컴파일 과정을 거쳐 컴퓨터가 해석 가능한 형태로 변역되어야 한다. 단, 자바가 다른 언어와 다른 점은 486이니 펜티엄이니 하는 CPU가 실행할 수 있는 형태의 기계어로 번역되는 것이 아 니라 자바 가상기계라는 가상적인 CPU가 이해할 수 있는 바이트 코드 형태로 번역된 다는 점이다. 이 바이트 코드가 자바 가상기계라는 CPU의 기계어인 셈이다. 썬 JDK 를 사용하는 경우는 다음과 같이 'javac' 명령을 사용하면 되고 javac HiAll.java MS의 자바 SDK를 사용하는 경우는 다음과 같이 'jvc' 명령을 사용하면 된다. jvc HiAll.java 위의 명령은 유닉스에서는 쉘의 프롬프트에서 PC의 경우는 윈도우의 도스 창에서 입력하면 된다. 컴파일이 무사히 끝났으면 현재 'ls'나 'dir' 명령으로 현재 디렉 토리를 확인해 보자. HiAll.java 외에 HiAll.class라는 파일이 생겨 있을 것이다. 이것 이 바로 자바 가상기계가 이해할 수 있는 형태로 번역된 결과이다. 이 파일을 '클래스 파일'이라고 부른다. 자! 그러면 위의 애플리케이션을 실행해 보도록 하자. 썬 JDK와 MS SDK 가 각각 다음과 같은 명령을 사용한다. java HiAll jview HiAll 위의 명령을 실행하고 나면 다음 글자가 화면에 표시될 것이다. Hi, all 'java'나 'jview' 명령이 클래스 파일을 해석해 위에서 작성한 프로그램을 실 행시킨 결과이다. 클래스 파일의 이름을 명시하는 것이 아니라, 원시 코드에서 'class' 라는 단어의 다음에 오는 이름을 명시해야 한다는 점에 주의하기 바란다. 일레로 다 음에 보인 실수는 흔히 초보자들이 저지르는 것중 하나이다. java HiAll.class java HiAll.java java나 jview 명령은 클래스 파일 내에 기록된 명령을 차례로 읽어서 각 명 령이 의미하는 바를 우리의 컴퓨터를 이용해서 실행해 주는 해석기인 셈이다. 이같이 자바 가상기계는 해석기 형태로 만들어지는 것이 보통이나, 썬에서 개발중인 자바칩과 같이 직접 바이트 코드를 해석할 수 있는 실제 CPU의 형태로 만들기도 한다. 설명의 편의를 위해 앞으로는 일일이 JDK와 MS SDK를 나누지 않고 JDK 의 경우만 표시하도록 하겠다. 하지만 위에서 언급했듯이 가급적이면 MS SDK를 사 용하기를 권한다. 주석문(comments) 이제 위의 코드를 천천히 뜯어 보자. 먼저 '/*' 과 '*/', 혹은 '/**' 과 '*/'로 둘러싸인 형태의 문장이 보인다. 얼핏 봐서도 짐작할 수 있듯이 이들은 단순히 프로그램에 대 한 설명을 적어 두기 위한 것이다. 따라서 컴파일러는 이 속의 내용을 전적으로 무시 한다. 그렇다면 전자와 후자가 다른 점은 무엇일까. 그것은 썬의 JDK에 포함되어 있 는 'javadoc'이라는 이름의 명령과 관련이 있다. 설명하고자 하는 대상 앞에 /** doc comment */ 형식의 주석을 써 주면 javadoc 명령이 이들 주석을 각 대상에 대한 설 명으로 간주해서 추려내고 읽기 쉬운 HTML 형식의 설명서를 생성해 준다. 자세한 것은 기회가 닿으면 설명하도록 하고, 혹 궁금한 독자는 참고자료⑧을 보기 바란다. 이렇게 해서 생성된 문서의 대표적인 예가 자바소프트 사이트에서 읽을 수 있는 HTML 형식의 API 문서이다. 한편 '//'로 시작하는 설명문도 보이는데, 이 주석은 C++ 프로그래머들에게 익숙할 텐데 그 위치부터 한 행의 끝까지를 설명문으로 취급하도록 하는 주석 표시이 다. |