English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java는 세 가지 주석 방식을 지원합니다. 전자 두 가지는 // 와 /* */제3종은 설명 주석으로 불리며,으로 /** 시작,으로 */끝.
주석 설명은 프로그램에 대한 정보를 포함할 수 있으며, javadoc 도구 소프트웨어를 사용하여 정보를 생성하고 HTML 파일로 출력할 수 있습니다.
주석을 설명하여 프로그램 정보를 더 쉽게 기록할 수 있습니다.
javadoc 도구 소프트웨어는 다음과 같은 태그를 인식합니다:
태그 | 설명 | 예제 |
---|---|---|
@author | 클래스의 작성자를 표시합니다. | @author description |
@deprecated | 삭제된 클래스나 멤버를 지정합니다. | @deprecated description |
{@docRoot} | 현재 문서의 루트 디렉토리 경로를 지정합니다. | 디렉토리 경로 |
@exception | 클래스가 던지는 예외를 표시합니다. | @exception exception-name explanation |
{@inheritDoc} | 즉시 상위 클래스에서 继承된 주석 | 즉시 상위 클래스에서의 주석을 继承합니다. |
{@link} | 다른 주제로의 링크를 추가합니다. | {@link name text} |
{@linkplain} | 다른 주제로의 링크를 추가하지만, 이 링크는 텍스트 글꼴로 표시됩니다. | 다른 주제로의 링크를 추가합니다.-다른 주제로의 링크를 추가합니다. |
@param | 메서드의 파라미터를 설명합니다. | @param parameter-name explanation |
@return | 반환 값 타입을 설명합니다. | @return explanation |
@see | 다른 주제로의 링크를 지정합니다. | @see anchor |
@serial | 시리얼화 속성을 설명합니다. | @serial description |
@serialData | writeObject()와 writeExternal() 메서드를 통해 쓰인 데이터를 설명합니다. | @serialData description |
@serialField | ObjectStreamField 구성 요소를 설명합니다. | @serialField name type description |
@since | 특정 변경 사항을 도입할 때 표시합니다. | @since release |
@throws | @exception 태그와 같습니다. | @throws 태그는 @exception 태그와 동일한 의미를 가집니다. |
{@value} | 상수의 값을 표시합니다. 상수는 static 속성이어야 합니다. | 정적 필드인 상수의 값을 표시합니다. |
@version | 클래스의 버전을 지정합니다. | @version 정보 |
시작 /** 태그 뒤에는, 첫 번째 행이나 몇 행은 클래스, 변수, 메서드의 주요 설명을 포함합니다.
태그 뒤에는 하나나 여러 개의 다양한 태그를 포함할 수 있습니다. @ 태그. @ 태그는 새로운 행의 시작이나 행의 시작에 스타일러스(*) 뒤에 위치해야 합니다.*).
여러 개의 동일한 타입의 태그는 그룹으로 배치되어야 합니다. 예를 들어, 세 개의 @see 태그를 하나씩 연결할 수 있습니다.
다음은 클래스 설명 주석의 예제입니다:
/*** 이 클래스는 바리스토그램을 그립니다. * @author w3codebox * @version 1.2 */
javadoc 도구는 Java 프로그램의 소스 코드를 입력으로 받아, 프로그램 주석을 포함한 HTML 파일을 출력합니다.
각 클래스의 정보는 독립적인 HTML 파일에 포함됩니다. javadoc는 상속 트리 구조와 인덱스도 출력할 수 있습니다.
javadoc 구현이 다르기 때문에 작업도 다를 수 있습니다. Java 개발 시스템의 버전 등 세부 사항을 확인하고 적절한 Javadoc 버전을 선택해야 합니다.
다음은 주석을 사용한 간단한 예제입니다. 주석은 설명하고자 하는 요소 앞에 위치해야 합니다.
javadoc 처리가 끝난 후, SquareNum 클래스의 주석은 SquareNum.html에서 찾을 수 있습니다.
import java.io.*; /** * 이 클래스는 문서화 주석을 보여줍니다. * @author Ayan Amhed * @version 1.2 */ public class SquareNum { /** * This method returns the square of num. * This is a multiline description. You can use * as many lines as you like. * @param num The value to be squared. * @return num squared. */ public double square(double num) { return num * num; } /** * This method inputs a number from the user. * @return The value input as a double. * @exception IOException 입력 오류 시 발생. * @see IOException */ public double getNumber() throws IOException {}} InputStreamReader isr = new InputStreamReader(System.in); BufferedReader inData = new BufferedReader(isr); String str; str = inData.readLine(); return (new Double(str)).doubleValue(); } /** * 이 메서드는 square()를 시연합니다. * @param args 사용되지 않습니다. * @return 아무것도 반환하지 않습니다. * @exception IOException 입력 오류 시 발생. * @see IOException */ public static void main(String args[]) throws IOException { SquareNum ob = new SquareNum(); double val; System.out.println("제곱할 값을 입력하세요: "); val = ob.getNumber(); val = ob.square(val); System.out.println("제곱된 값은 " + "" + val); } }
아래와 같이, javadoc 도구를 사용하여 SquareNum.java 파일을 처리합니다:
$ javadoc SquareNum.java 소스 파일 SquareNum.java를 로드 중... Javadoc 정보를 구축 중... Standard Doclet 버전 1.5.0_13 모든 패키지와 클래스의 트리를 빌드 중... SquareNum.html 생성 중... SquareNum.java:39: 경고 - @return 태그는 사용할 수 없습니다\ void 반환형 방법에서 in method. package 생성 중-frame.html 생성 중 package 생성 중-summary.html 생성 중 package 생성 중-tree.html 생성 중 constant 생성 중-values.html 생성 중 모든 패키지와 클래스에 대한 인덱스 구축 중... overview 생성 중-tree.html 생성 중 index 생성 중-all.html 생성 중 deprecated 생성 중-list.html 생성 중 모든 클래스에 대한 인덱스 구축 중... allclasses 생성 중-frame.html 생성 중 allclasses 생성 중-noframe.html 생성 중... index.html 생성 중... help 생성 중...-doc.html 생성 중... stylesheet.css 생성 중... 1 warning $