[Java] Javadoc

๊ณ ๋ณ‘๊ฐ‘ยท2026๋…„ 3์›” 20์ผ

java study

๋ชฉ๋ก ๋ณด๊ธฐ
15/15

Javadoc ์ดํ•ดํ•˜๊ธฐ ๐Ÿ“š

Javadoc์€ Java ์†Œ์Šค ์ฝ”๋“œ์— ํฌํ•จ๋œ ํŠน์ • ์ฃผ์„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ‘œ์ค€ํ™”๋œ API ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์†Œ์Šค ์ฝ”๋“œ์˜ ๋ช…์„ธ์„œ, ํด๋ž˜์Šค ๋ฐ ๋ฉ”์†Œ๋“œ์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•, ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๋ฐ˜ํ™˜ ๊ฐ’์˜ ์˜๋ฏธ ๋“ฑ ํ•ต์‹ฌ ์ •๋ณด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

Javadoc์˜ ์ž‘๋™ ์›๋ฆฌ ๋ฐ ๊ฐ€์น˜ โœจ

Javadoc ์ฃผ์„์€ ์ผ๋ฐ˜ ์ฃผ์„๊ณผ ๋‹ฌ๋ฆฌ ์ปดํŒŒ์ผ ์‹œ์ ์— ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Javadoc ๋„๊ตฌ๋Š” ์ด ์ฃผ์„ ๋‚ด์— ํฌํ•จ๋œ HTML ํƒœ๊ทธ (์˜ˆ: {@link}, <code>)๋ฅผ ํ•ด์„ํ•˜์—ฌ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ด๋žŒ ๊ฐ€๋Šฅํ•œ HTML ํ˜•์‹์˜ API ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ API ๋ฌธ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ€์น˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฐœ๋ฐœ ํ˜‘์—… ๊ฐ•ํ™”: ํŒ€์› ๊ฐ„ ์ฝ”๋“œ ์ดํ•ด๋„๋ฅผ ๋†’์—ฌ ํšจ์œจ์ ์ธ ํ˜‘์—…์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์ž ํŽธ์˜ ์ฆ์ง„: ์™ธ๋ถ€์— ๊ณต๊ฐœ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‚˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ œ์‹œํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ง„์ž… ์žฅ๋ฒฝ์„ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค.
  • ์ฝ”๋“œ ํ’ˆ์งˆ ํ–ฅ์ƒ: ๋ช…ํ™•ํ•œ ๋ฌธ์„œํ™” ์š”๊ตฌ์‚ฌํ•ญ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ์˜ ๋ชฉ์ ๊ณผ ๋™์ž‘์„ ๋” ๊นŠ์ด ๊ณ ๋ฏผํ•˜๊ฒŒ ํ•˜์—ฌ ์ฝ”๋“œ ํ’ˆ์งˆ ํ–ฅ์ƒ์— ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

Javadoc์€ ์†Œ์Šค ์ฝ”๋“œ์™€ ํ•จ๊ป˜ API ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

์ฃผ์š” Javadoc ํƒœ๊ทธ ๋ถ„์„ ๐Ÿท๏ธ

Javadoc์€ ๋‹ค์–‘ํ•œ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ์š”์†Œ์˜ ํŠน์„ฑ์„ ์ƒ์„ธํ•˜๊ฒŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” Javadoc ํƒœ๊ทธ์ž…๋‹ˆ๋‹ค.

ํƒœ๊ทธ์„ค๋ช…
@version๊ตฌํ˜„์ฒด(ํด๋ž˜์Šค, ๋ฉ”์†Œ๋“œ ๋“ฑ)์˜ ๋ฒ„์ „ ์ •๋ณด ๋ช…์‹œ
@author๊ตฌํ˜„์ฒด์˜ ์ž‘์„ฑ์ž
@deprecatedํ•ด๋‹น ๊ตฌํ˜„์ฒด์˜ ์‚ฌ์šฉ ์ค‘๋‹จ์„ ๊ถŒ๊ณ ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œ ์˜ˆ์ •์ž„์„ ์•Œ๋ฆผ
@sinceํ•ด๋‹น ๊ตฌํ˜„์ฒด๊ฐ€ ์ถ”๊ฐ€๋œ ๋ฒ„์ „ ๋˜๋Š” ์‹œ์ 
@param๋ฉ”์†Œ๋“œ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์—ญํ•  ๋ฐ ์˜๋ฏธ ์„ค๋ช…
@return๋ฉ”์†Œ๋“œ ๋ฐ˜ํ™˜ ๊ฐ’์˜ ์—ญํ•  ๋ฐ ์˜๋ฏธ ์„ค๋ช…
@throws๋ฉ”์†Œ๋“œ๊ฐ€ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์˜ˆ์™ธ ์ƒํ™ฉ ์ •์˜

๋‘ ํƒœ๊ทธ ๋ชจ๋‘ ๋‹ค๋ฅธ ํ•„๋“œ, ๋ฉ”์†Œ๋“œ, ํด๋ž˜์Šค ๋˜๋Š” ์™ธ๋ถ€ ๋ฌธ์„œ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • @see: "See Also" ์„น์…˜์— ๋ณ„๋„์˜ ์ฐธ์กฐ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ๊ด€๋ จ ํ•ญ๋ชฉ์„ ๋ฌถ์–ด ๋ณด์—ฌ์ค„ ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • {@link}: ์ฃผ์„ ๋‚ด์šฉ ๋‚ด๋ถ€์— ์ธ๋ผ์ธ ํ•˜์ดํผ๋งํฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ํ‚ค์›Œ๋“œ์— ๋Œ€ํ•œ ์ง์ ‘์ ์ธ ์ฐธ์กฐ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

@exception vs @throws ๐Ÿšจ

@exception๊ณผ @throws๋Š” ๋™์ผํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ฉ”์†Œ๋“œ๊ฐ€ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์˜ˆ์™ธ ์ƒํ™ฉ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. @throws ํƒœ๊ทธ ์‚ฌ์šฉ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

Javadoc ์˜ˆ์‹œ ๐Ÿ“

์•„๋ž˜๋Š” Javadoc ํƒœ๊ทธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฉ”์†Œ๋“œ๋ฅผ ๋ฌธ์„œํ™”ํ•œ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.

/**
 * ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ…Œ์ŠคํŠธ ๋ฉ”์†Œ๋“œ์ž…๋‹ˆ๋‹ค.
 *
 * @param abc ์ฒ˜๋ฆฌํ•  ๋ฌธ์ž์—ด
 * @return ์ฒ˜๋ฆฌ๋œ ๋ฌธ์ž์—ด ๊ฒฐ๊ณผ
 * @throws Exception ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ์ค‘ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜ ์˜ˆ์™ธ
 * @author ๋ณ‘๊ฐ‘
 */
public String Test(String abc) throws Exception {
    String asd = abc; // ์‹ค์ œ ๊ตฌํ˜„์—์„œ๋Š” abc๋ฅผ ๋ณ€ํ™˜ํ•˜๋Š” ๋กœ์ง์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    return asd;
}

์œ„ ์˜ˆ์‹œ์—์„œ @param abc, @return, @throws Exception ํƒœ๊ทธ๋Š” ๋ฉ”์†Œ๋“œ์˜ ๊ตฌํ˜„ ๋‚ด์šฉ๋ณด๋‹ค๋Š” ๊ฐ ์š”์†Œ๊ฐ€ ๋‹ด๋‹นํ•˜๋Š” ์—ญํ• ๊ณผ ์˜๋ฏธ๋ฅผ ๋ช…ํ™•ํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ•ด๋‹น ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ ๋‚ด๋ถ€ ๊ตฌํ˜„์„ ๋ณด์ง€ ์•Š๊ณ ๋„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ณ  ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค.

์›๋ฌธ ์ถœ์ฒ˜: https://blog.naver.com/h970303/22315941087

profile
๋…ธ๋ ฅ naver ๋ฐฐ์‹ ๐Ÿ”ฅ

0๊ฐœ์˜ ๋Œ“๊ธ€