λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
⌨️ Language/Java

[Java] μ£Όμ„μ˜ μ’…λ₯˜μ™€ μ‚¬μš©λ²•

by hyebin (Helia) 2025. 4. 17.
λ°˜μ‘ν˜•

λͺ©μ°¨

     

     

    주석은 μ½”λ“œμ˜ λ™μž‘μ—λŠ” 영ν–₯을 μ£Όμ§€ μ•Šμ§€λ§Œ, μ½”λ“œλ₯Ό μ½λŠ” μ‚¬λžŒμ—κ²Œ 큰 도움을 μ£ΌλŠ” μ•„μ£Ό μ€‘μš”ν•œ μš”μ†Œμž…λ‹ˆλ‹€.

    이번 κΈ€μ—μ„œλŠ” Javaμ—μ„œ μ‚¬μš©λ˜λŠ” μ£Όμ„μ˜ μ’…λ₯˜μ™€ μ‹€μ œ μ‚¬μš© μ˜ˆμ‹œ, 그리고 쒋은 주석을 μž‘μ„±ν•˜λŠ” νŒκΉŒμ§€ ν•¨κ»˜ μ •λ¦¬ν•΄λ³Όκ²Œμš”.


    μ£Όμ„μ΄λž€?

    μ£Όμ„μ΄λž€ μ½”λ“œ λ‚΄μ— μ„€λͺ…, κΈ°λ‘, λ©”λͺ¨, TODO λͺ©λ‘ λ“±μ„ λ‚¨κΈ°λŠ” λ„κ΅¬λ‘œ, μ‹€ν–‰ μ‹œ λ¬΄μ‹œλ©λ‹ˆλ‹€.
    즉, μ»΄νŒŒμΌλŸ¬λ‚˜ JVM은 μ£Όμ„μ„ μ™„μ „νžˆ λ¬΄μ‹œν•©λ‹ˆλ‹€.


    πŸ”Έ Java μ£Όμ„μ˜ μ’…λ₯˜

    Javaμ—μ„œλŠ” 총 3κ°€μ§€ μ’…λ₯˜μ˜ 주석을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

     

    1. ν•œ 쀄 주석 (//)

    ν•œ 쀄 전체λ₯Ό 주석 μ²˜λ¦¬ν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€. κ°€μž₯ 많이 쓰이며, λΉ λ₯΄κ²Œ λ©”λͺ¨ν•  λ•Œ μœ μš©ν•˜μ£ .

    int age = 30;  // λ‚˜μ΄ λ³€μˆ˜ μ„ μ–Έ
    

    πŸ’‘ Tip: 디버깅 μ‹œ System.out.println()을 μž„μ‹œλ‘œ 주석 μ²˜λ¦¬ν•  λ•Œλ„ 자주 μ‚¬μš©λ©λ‹ˆλ‹€.

     

    2. μ—¬λŸ¬ 쀄 주석 (/ /)

    μ—¬λŸ¬ 쀄에 걸친 μ„€λͺ…이 ν•„μš”ν•˜κ±°λ‚˜, νŠΉμ • 블둝을 전체 주석 μ²˜λ¦¬ν•˜κ³  싢을 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

    /*
     이 뢀뢄은
     λ‚˜μ€‘μ— λ¦¬νŒ©ν† λ§ν•  μ˜ˆμ •μž…λ‹ˆλ‹€.
     */
    String name = "Java";
    

    λ˜λŠ” μ½”λ“œ 블둝 전체λ₯Ό 주석 μ²˜λ¦¬ν•  λ•Œλ„ ν™œμš©λ©λ‹ˆλ‹€

    /*
    if (isTest) {
        runTestMode();
    }
    */
    

     

    3. λ„νλ¨ΌνŠΈ 주석 (/ /)*

    JavaλŠ” λ„νλ¨ΌνŠΈ 주석을 μ‚¬μš©ν•΄, μ†ŒμŠ€ μ½”λ“œλ§ŒμœΌλ‘œλ„ API λ¬Έμ„œλ₯Ό μžλ™ 생성할 수 μžˆμŠ΅λ‹ˆλ‹€.

    λ„νλ¨ΌνŠΈ 주석은 클래슀, λ©”μ„œλ“œ, ν•„λ“œ 등에 μž‘μ„±ν•˜λ©΄, javadoc λͺ…λ Ήμ–΄λ₯Ό 톡해 HTML ν˜•νƒœμ˜ λ¬Έμ„œλ‘œ 좜λ ₯ν•  수 μžˆμ–΄μš”.

    /**
     * μ‚¬μš©μžμ˜ 이름을 λ°˜ν™˜ν•˜λŠ” λ©”μ„œλ“œμž…λ‹ˆλ‹€.
     *
     * @return μ‚¬μš©μž 이름
     */
    public String getUserName() {
        return name;
    }
    

     

    🏷️ 자주 μ‚¬μš©ν•˜λŠ” Javadoc νƒœκ·Έ

    νƒœκ·Έ μš©λ„ μ˜ˆμ‹œ
    @param λ©”μ„œλ“œμ˜ λ§€κ°œλ³€μˆ˜λ₯Ό μ„€λͺ…ν•  λ•Œ @param name μ‚¬μš©μž 이름
    @return λ©”μ„œλ“œκ°€ λ°˜ν™˜ν•˜λŠ” 값을 μ„€λͺ…ν•  λ•Œ @return 전체 κΈˆμ•‘
    @throws λ˜λŠ” @exception μ˜ˆμ™Έκ°€ λ°œμƒν•  수 μžˆλŠ” 경우 μ„€λͺ… @throws IllegalArgumentException 잘λͺ»λœ μž…λ ₯일 λ•Œ
    @see μ°Έκ³ ν•  ν΄λž˜μŠ€λ‚˜ λ©”μ„œλ“œ 링크 @see java.util.List
    @deprecated 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠμŒμ„ λͺ…μ‹œ @deprecated v2.0λΆ€ν„° 제거 μ˜ˆμ •
    @author μž‘μ„±μž λͺ…μ‹œ @author 혜빈
    @version 버전 정보 @version 1.2.0
    @since μ–Έμ œλΆ€ν„° λ„μž…λ˜μ—ˆλŠ”μ§€ @since 1.5

    πŸ“Œ 이 주석은 라이브러리, ν”„λ ˆμž„μ›Œν¬, API λ¬Έμ„œν™”λ₯Ό ν•  λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€.


    πŸ›  주석은 μ–΄λ–»κ²Œ μ“ΈκΉŒ?

    βœ… μ„€λͺ… 주석

    • λ³΅μž‘ν•œ 둜직의 핡심 μ˜λ„λ‚˜ μ•Œκ³ λ¦¬μ¦˜μ„ μ„€λͺ…ν•  λ•Œ
    // 이진 νƒμƒ‰μœΌλ‘œ νƒ€κ²Ÿ 인덱슀λ₯Ό μ°ΎλŠ”λ‹€
    

     

    βœ… TODO 주석

    • 아직 κ΅¬ν˜„ν•˜μ§€ μ•Šμ€ κΈ°λŠ₯μ΄λ‚˜ κ°œμ„ ν•  뢀뢄을 ν‘œμ‹œν•  λ•Œ
    // TODO: μ˜ˆμ™Έ 처리 둜직 μΆ”κ°€ν•  것
    

     

    βœ… DEBUG 주석

    • μž„μ‹œλ‘œ λ””λ²„κΉ…μš© μ½”λ“œλ₯Ό λ‚¨κ²¨λ‘κ³ μž ν•  λ•Œ
    // System.out.println("κ°’ 확인: " + value);
    

    ✍️ 쒋은 주석 μž‘μ„± 팁

    ❌ λ‚˜μœ 예 βœ… 쒋은 예
    // λ²„νŠΌ 클릭 // μ‚¬μš©μžκ°€ 둜그인 λ²„νŠΌμ„ ν΄λ¦­ν–ˆμ„ λ•Œ μ²˜λ¦¬λ˜λŠ” 이벀트
    // 계산함 // ν• μΈμœ¨κ³Ό 쿠폰을 λ°˜μ˜ν•˜μ—¬ μ΅œμ’… κΈˆμ•‘ 계산

    βœ”οΈ “μ™œ”λ₯Ό μ„€λͺ…ν•˜λŠ” 주석을 μ“°μ„Έμš”.

    • “무엇을 ν•œλ‹€”보닀 “μ™œ μ΄λ ‡κ²Œ ν–ˆλŠ”μ§€”κ°€ 더 μ€‘μš”ν•©λ‹ˆλ‹€.

    βœ”οΈ μœ μ§€λ³΄μˆ˜ κΈ°μ€€μœΌλ‘œ μ μœΌμ„Έμš”.

    • λ‚˜μ€‘μ— λ‹€λ₯Έ μ‚¬λžŒμ΄ 봀을 λ•Œ 도움이 λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. 자기 μžμ‹  포함!

    ❌ “λ‹Ήμ—°ν•œ μ½”λ“œ μ„€λͺ…”은 μ“°μ§€ λ§ˆμ„Έμš”.

    λ°˜μ‘ν˜•