Home > Archive > Post > ๐Ÿ“[blog post] Java Docs ๋ณด๋Š” ๋ฐฉ๋ฒ•.

๐Ÿ“[blog post] Java Docs ๋ณด๋Š” ๋ฐฉ๋ฒ•.
Java Programming Language Backend blogging Documentation

๐Ÿ“ Java Docs๋ฅผ ์ฝ๋Š” ๋Šฅ๋ ฅ์ด ํ•„์š”ํ•œ ์ด์œ . :)

์ €๋Š” Documentation์ด ๊ทธ ์–ด๋–ค ์œ ๋ช… ํ…Œํฌ ๋ธ”๋กœ๊ฑฐ์˜ ๊ธ€ ๋ณด๋‹ค ์ค‘์š”ํ•˜๊ณ  ์‹ฌ๋„์žˆ๊ฒŒ ์ฝ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฐœ์ธ์ ์ธ ์˜๊ฒฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ์ด์œ ๋Š” Java๋ฅผ ๊ฐœ๋ฐœํ•œ ๊ฐœ๋ฐœ์ž๋ถ„๋“ค์ด ์ง์ ‘ ๋งŒ๋“  ์„ค๋ช…์„œ๋‚˜ ๋‹ค๋ฆ„ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ๋ ˆ๊ณ ๋ฅผ ์ƒ๊ฐํ•ด ๋ด…์‹œ๋‹ค.

๋‚ด๊ฐ€ ์ข‹์•„ํ•˜๋Š” ๋ ˆ๊ณ ๋ฅผ ์‚ฌ์„œ ์ง‘์—์„œ ์กฐ๋ฆฝํ•  ๋•Œ ๋ฌด์—‡์„ ๋ณด๋‚˜์š”? ๐Ÿค”

๋งž์Šต๋‹ˆ๋‹ค!

๋ ˆ๊ณ  ํŒจํ‚ค์ง€ ์•ˆ์— ๋“ค์–ด์žˆ๋Š” โ€œ์„ค๋ช…์„œโ€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ ˆ๊ณ ๋ฅผ ์กฐ๋ฆฝํ•ฉ๋‹ˆ๋‹ค.

๋ ˆ๊ณ ๋ฅผ ๋””์ž์ธํ•˜๊ณ  ๋งŒ๋“œ์‹  ๋ถ„์ด ์ง์ ‘ โ€œ์ด๋ ‡๊ฒŒ ์ˆœ์„œ๋Œ€๋กœ ๋งŒ๋“ค๋ฉด ๋‹น์‹ ์ด ์›ํ•˜๋Š” ๋ฉ‹์ง„ ๋ ˆ๊ณ  ์™„์„ฑํ’ˆ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!โ€ ๋ผ๋Š” ๊ฒƒ์„ ์ง.๊ฐ„์ ‘์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ์•„์ฃผ ์ž์„ธํ•œ ์„ค๋ช…์ด ๋“ค์–ด์žˆ์ฃ  ๐Ÿ“

์„ค๋ช…์„œ๋Š” ์ง์ ‘ ๋””์ž์ธํ•˜๊ณ  ์„ค๊ณ„ํ•œ ์‚ฌ๋žŒ์˜ ์ฒ ํ•™๊ณผ ๊ทธ๋“ค์ด ์™œ ๊ทธ๋ ‡๊ฒŒ ๋งŒ๋“ค์—ˆ๋Š”์ง€ ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ป๊ฒŒ ์“ฐ์—ฌ์•ผํ•˜๋Š”์ง€ ์ •ํ™•, ๋ช…๋ฃŒํ•˜๊ฒŒ ๋ช…์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋‹ค๋ฅธ ๊ตฌ์„ฑํ’ˆ๊ณผ ๋งž์ถฐ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋„ ์ œ์•ˆํ•˜๊ฑฐ๋‚˜ ๋ณด์—ฌ์ฃผ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ Documentation์„ ๋ณด๊ณ  ์ œ๋Œ€๋กœ ํ™œ์šฉํ•  ์ค„ ์•„๋Š” ๊ฒƒ์ด ๊ฐœ๋ฐœ์ž์—๊ฒŒ๋Š” ์ค‘์š”ํ•œ ๋Šฅ๋ ฅ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์•„๋‹๊นŒ ํ•˜๋Š” ์ƒ๊ฐ์„ ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ™‹โ€โ™‚๏ธ

1๏ธโƒฃ Java Documentation ๋ณด๊ธฐ.

1. ์˜จ๋ผ์ธ ๋ฌธ์„œ.

  • Java SE Documentation์€ Oracle ๊ณต์‹ ์‚ฌ์ดํŠธ์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
    • Java ๋ฒ„์ „์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋ฌธ์„œ๊ฐ€ ์ œ๊ณต๋˜๋‹ˆ, ์‚ฌ์šฉํ•˜๋Š” Java ๋ฒ„์ „์— ๋งž๋Š” ๋ฌธ์„œ๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2. IDE ๋‚ด์žฅ ๋ฌธ์„œ.

  • ๋งŽ์€ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ(IDE)์—๋Š” JavaDoc์„ ์‰ฝ๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. InteillJ IDEA, Eclipes, NetBeans ๋“ฑ์—์„œ ์ฝ”๋“œ ์ž‘์„ฑ ์‹œ JavaDocs๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, IntelliJ IDEA์—์„œ ํด๋ž˜์Šค๋‚˜ ๋ฉ”์†Œ๋“œ ์ด๋ฆ„ ์œ„์— ์ปค์„œ๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ํ•ด๋‹น ํด๋ž˜์Šค๋‚˜ ๋ฉ”์†Œ๋“œ์˜ JavaDoc์ด ํŒ์—…์œผ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

3. ๋กœ์ปฌ ๋ฌธ์„œ.

  • Java JDK๋ฅผ ์„ค์น˜ํ•  ๋•Œ, JavaDoc์„ ๋กœ์ปฌ์— ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์—†์ด๋„ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • JDK ์„ค์น˜ ๊ฒฝ๋กœ ์•„๋ž˜์˜ docs ํด๋”์— HTML ํ˜•์‹์˜ ๋ฌธ์„œ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

2๏ธโƒฃ Java Documentation ํ™œ์šฉ ๋ฐฉ๋ฒ•

Java Documentation์„ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…์‹œ๋‹ค.๐Ÿคฉ

1. ํด๋ž˜์Šค ๋ฐ ๋ฉ”์†Œ๋“œ ํƒ์ƒ‰.

  • API ๋ฌธ์„œ์—์„œ ํŒจํ‚ค์ง€, ํด๋ž˜์Šค, ๋ฉ”์†Œ๋“œ, ํ•„๋“œ ๋“ฑ์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, java.util ํŒจํ‚ค์ง€์— ์–ด๋–ค ํด๋ž˜์Šค๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€, ArrayList ํด๋ž˜์Šค์— ์–ด๋–ค ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ๋Š”์ง€ ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. ์‚ฌ์šฉ ์˜ˆ์ œ ์ฐพ๊ธฐ.

  • ๊ฐ ํด๋ž˜์Šค์™€ ๋ฉ”์†Œ๋“œ์—๋Š” ์‚ฌ์šฉ ์˜ˆ์ œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ˆ์ œ๋Š” ํ•ด๋‹น API๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

3. ๋ฉ”์†Œ๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ฐ ์„ค๋ช….

  • ๋ฉ”์†Œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜, ๋ฐ˜ํ™˜๊ฐ’, ์˜ˆ์™ธ ๋“ฑ์„ ์„ค๋ช…ํ•˜๋Š” ์‹œ๊ทธ๋‹ˆ์ฒ˜์™€ ์„ค๋ช…์„ ํ†ตํ•ด ๋ฉ”์†Œ๋“œ์˜ ์‚ฌ์šฉ๋ฒ•์„ ์ •ํ™•ํžˆ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, String ํด๋ž˜์Šค์˜ substring ๋ฉ”์†Œ๋“œ์˜ ์‹œ๊ทธ๋‹ˆ์ฒ˜์™€ ์„ค๋ช…์„ ๋ณด๋ฉด, ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌํ•ด์•ผ ํ•  ๊ฐ’๊ณผ ๋ฐ˜ํ™˜๋˜๋Š” ๊ฐ’์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ์ƒ์† ๊ตฌ์กฐ ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค.

  • ํด๋ž˜์Šค๊ฐ€ ๊ตฌํ˜„ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ƒ์†๋ฐ›๋Š” ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๊ฑฐ๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3๏ธโƒฃ ์˜ˆ์ œ

๋‹ค์Œ์€ Java Documentation์„ ํ™œ์šฉํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.

์˜ˆ์ œ 1: ArrayList ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ๋ฒ• ํ™•์ธ ๐Ÿ™‹โ€โ™‚๏ธ

  1. ์˜จ๋ผ์ธ ๋ฌธ์„œ์—์„œ ArrayList ํด๋ž˜์Šค๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.
    • Java SE Documentation์—์„œ java.util.ArrayList ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
    • ArrayList ํด๋ž˜์Šค์˜ API ๋ฌธ์„œ๋ฅผ ์—ด์–ด ๋ฉ”์†Œ๋“œ ๋ชฉ๋ก์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  2. add(E e) ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ๋ฒ• ํ™•์ธํ•˜๊ธฐ.
    • add(E e) ๋ฉ”์†Œ๋“œ๋Š” ๋ฆฌ์ŠคํŠธ์˜ ๋์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฉ”์†Œ๋“œ์ž…๋‹ˆ๋‹ค.
    • ๋ฉ”์†Œ๋“œ ์„ค๋ช…์„ ์ฝ๊ณ , ์˜ˆ์ œ๋ฅผ ํ™•์ธํ•˜์—ฌ ์‚ฌ์šฉ๋ฒ•์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ 2. String ํด๋ž˜์Šค์˜ substring ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ๋ฒ• ํ™•์ธ ๐Ÿ™‹โ€โ™‚๏ธ

  1. IDE ๋‚ด์žฅ ๋ฌธ์„œ ํ™œ์šฉํ•˜๊ธฐ.
    • IntelliJ IDEA๋‚˜ Eclipse์—์„œ String ํด๋ž˜์Šค์˜ substring ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ, ๋ฉ”์†Œ๋“œ ์ด๋ฆ„ ์œ„์— ์ปค์„œ๋ฅผ ์˜ฌ๋ฆฌ๋ฉด JavaDoc์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
    • JavaDoc์„ ํ†ตํ•ด substring(int beingIndex, int endIndex) ๋ฉ”์†Œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๋ฐ˜ํ™˜ ๊ฐ’์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ฝ์Šต๋‹ˆ๋‹ค.
public class Main {
    public static void main(String[] args) {
        String text = "Hello, World!";
        String subText = text.substring(7, 12); // "World"
        System.out.println(subText);
    }
}

์œ„ ์˜ˆ์ œ์—์„œ substring ๋ฉ”์†Œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ beginIndex ์™€ endIndex ์ž„์„ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์ข…๋ฃŒ ์ธ๋ฑ์Šค ์ „๊นŒ์ง€์˜ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ 3. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ• ํ™•์ธ ๐Ÿ™‹โ€โ™‚๏ธ

  1. ์˜ˆ์™ธ ํด๋ž˜์Šค ๋ฌธ์„œ ํ™•์ธํ•˜๊ธฐ.
    • java.lang.NullPointerException ํด๋ž˜์Šค์˜ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์—ฌ ์–ธ์ œ ์ด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.
  2. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์˜ˆ์ œ
public class Main {
    public static void main(String[] args) {
        try {
            String text = null;
            System.out.println(text.length());
        } catch (NullPointerException e) {
            System.out.println("Caught a NullPointerException");
        }
    }
}

์ด ์˜ˆ์ œ๋Š” NullPointException ์ด ๋ฐœ์ƒํ•  ๋•Œ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๐Ÿ“ ์š”์•ฝ.

  • Java Documentation์€ Java API๋ฅผ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ์ž๋ฃŒ์ž…๋‹ˆ๋‹ค.
  • Java Documentation๋ฅผ ์˜จ๋ผ์ธ, IDE, ๋˜๋Š” ๋กœ์ปฌ์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • API ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ํด๋ž˜์Šค์™€ ๋ฉ”์†Œ๋“œ์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ณ , ์˜ˆ์ œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒ์† ๊ตฌ์กฐ์™€ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜์—ฌ ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.