-
Notifications
You must be signed in to change notification settings - Fork 93
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #316 from SeokRae/item_56
[#56][2κΈ°] 곡κ°λ API μμμλ νμ λ¬Έμν μ£Όμμ μμ±νλΌ
- Loading branch information
Showing
1 changed file
with
303 additions
and
0 deletions.
There are no files selected for viewing
303 changes: 303 additions & 0 deletions
303
8μ₯/56_곡κ°λ_API_μμμλ_νμ_λ¬Έμν_μ£Όμμ_μμ±νλΌ_κΉμλ.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,303 @@ | ||
--- | ||
description: 곡κ°λ API μμμλ νμ λ¬Έμν μ£Όμμ μμ±νλΌ | ||
--- | ||
|
||
# Item 56 | ||
|
||
- APIλ₯Ό μΈλͺ¨ μκ² νλ €λ©΄ μ μμ±λ λ¬Έμλ κ³λ€μ¬μΌ νλ€. | ||
- μλ°μμλ μλ°λ (Javadoc)μ΄λΌλ μ νΈλ¦¬ν°κ° μ΄λ₯Ό λλλ€. | ||
|
||
- [Presentation](https://github.com/SeokRae/TIL/blob/master/java/effactive/item56/item56.pdf) | ||
|
||
## Intro | ||
|
||
- μλ°λ μ μμ€μ½λ νμΌμμ λ¬Έμν μ£Όμ(doc comment: μλ°λ μ£Όμ)μ΄λΌλ νΉμν ννλ‘ κΈ°μ λ μ€λͺ μ μΆλ € API λ¬Έμλ‘ λ³νν΄μ€λ€. | ||
- μλ° λ²μ μ΄ μ¬λΌκ°λ©° μΆκ°λ μ€μν μλ°λ νκ·Έ | ||
- μλ° 5μ `@literal`, `@code` | ||
- μλ° 8μ `@implSpec` | ||
- μλ° 9μ `@index` | ||
|
||
> APIλ₯Ό μ¬λ°λ‘ λ¬Έμν νλ €λ©΄ 곡κ°λ λͺ¨λ ν΄λμ€, μΈν°νμ΄μ€, λ©μλ, νλ μ μΈμ λ¬Έμν μ£Όμμ λ¬μμΌ νλ€. | ||
- μ§λ ¬νν μ μλ ν΄λμ€μ κ²½μ° μ§λ ¬ν ννμ κ΄ν΄μλ μ μ΄μΌ νλ€.[μμ΄ν 87]() | ||
- λ¬Έμν μ£Όμμ΄ μλ€λ©΄ μλ°λ λ κ·Έμ κ³΅κ° APIμμλ€μ 'μ μΈ'λ§ λμ΄ν΄μ£Όλκ² μ λΆμ΄λ€. | ||
- λ¬Έμκ° μ κ°μΆ°μ§μ§ μμ APIλ μ°κΈ° ν·κ°λ €μ μ€λ₯μ μμΈμ΄ λκΈ° μ½λ€. | ||
|
||
- κΈ°λ³Έ μμ±μμλ λ¬Έμν μ£Όμμ λ¬ λ°©λ²μ΄ μμΌλ κ³΅κ° ν΄λμ€λ μ λ κΈ°λ³Έ μμ±μλ₯Ό μ¬μ©νλ©΄ μλλ€. | ||
- μ μ§λ³΄μκΉμ§ κ³ λ €νλ€λ©΄ λλ€μμ 곡κ°λμ§ μμ `ν΄λμ€`, `μΈν°νμ΄μ€`, `μμ±μ`, `λ©μλ`, `νλ`μλ λ¬Έμν μ£Όμμ λ¬μμΌ νλ€. | ||
|
||
## λ©μλμ© λ¬Έμν μ£Όμ | ||
|
||
- ν΄λΉ λ©μλμ ν΄λΌμ΄μΈνΈ μ¬μ΄μ κ·μ½μ λͺ λ£νκ² κΈ°μ ν΄μΌ νλ€. | ||
- μμμ©μΌλ‘ μ€κ³λ ν΄λμ€μ λ©μλκ° μλλΌλ©΄ 무μμ νλμ§ κΈ°μ ν΄μΌ νλ€. [μμ΄ν 19]() | ||
- μ¦, howκ° μλ whatμ κΈ°μ ν΄μΌνλ€. | ||
|
||
- λ¬Έμν μ£Όμμλ ν΄λΌμ΄μΈνΈκ° ν΄λΉ λ©μλλ₯Ό νΈμΆνκΈ° μν μ μ 쑰건μ λͺ¨λ λμ΄ν΄μΌ νλ€. | ||
- λ©μλκ° μ±κ³΅μ μΌλ‘ μνλ νμ λ§μ‘±ν΄μΌ νλ μ¬ν쑰건(postcondition)λ λͺ¨λ λμ΄ν΄μΌ νλ€. | ||
|
||
### λ¬Έμν μ£Όμ μ 보 | ||
|
||
- μΌλ°μ μΌλ‘ μ μ 쑰건μ `@throws` νκ·Έλ‘ λΉκ²μ¬ μμΈλ₯Ό μ μΈνμ¬ μμμ μΌλ‘ κΈ°μ νλ€. | ||
- λΉκ²μ¬ μμΈ νλκ° μ μ 쑰건 νλμ μ°κ²°λλ κ²μ΄λ€. | ||
- λν, `@param` νκ·Έλ₯Ό μ΄μ©ν΄ κ·Έ 쑰건μ μν₯ λ°λ 맀κ°λ³μμ κΈ°μ ν μλ μλ€. | ||
|
||
### λΆμμ© | ||
|
||
- μ μ 쑰건과 μ¬ν쑰건λΏλ§ μλλΌ λΆμμ©λ λ¬Έμνν΄μΌ νλ€. | ||
- λΆμμ©μ΄λ μ¬ν쑰건μΌλ‘ λͺ νν λνλμ§λ μμ§λ§ μμ€ν μ μνμ μ΄λ ν λ³νλ₯Ό κ°μ Έμ€λ κ²μ λ»νλ€. | ||
- μλ‘ λ°±κ·ΈλΌμ΄λ μ€λ λλ₯Ό μμμν€λ λ©μλλΌλ©΄ κ·Έ μ¬μ€μ λ¬Έμμ λ°νμΌ νλ€. | ||
|
||
### λ©μλμ κ³μ½(contract) | ||
|
||
- μ΄λ₯Ό μλ²½ν κΈ°μ νλ €λ©΄ λͺ¨λ 맀κ°λ³μμ `@param` νκ·Έλ₯Ό λ¬μμΌ νλ€. | ||
- λ°ν νμ μ΄ voidκ° μλλΌλ©΄ `@return` νκ·Έλ₯Ό λ¬μμΌ νλ€. | ||
- λ°μν κ°λ₯μ±μ΄ μλ λͺ¨λ μμΈμ `@throws` νκ·Έλ₯Ό λ¬μμΌ νλ€.[μμ΄ν 74]() | ||
|
||
### νκ·Έ 컨벀μ | ||
|
||
- `@param` νκ·Έμ `@return` νκ·Έμ μ€λͺ μ ν΄λΉ **맀κ°λ³μκ° λ»νλ κ°**μ΄λ **λ°νκ°μ μ€λͺ νλ λͺ μ¬κ΅¬** λλ **μ°μ ννμ**μ μ°κΈ°λ νλ€. | ||
- μμ | ||
- BigInteger API | ||
- @throws νκ·Έμ μ€λͺ μ ifλ‘ μμν΄ ν΄λΉ μμΈλ₯Ό λμ§λ 쑰건μ μ€λͺ νλ μ μ΄ λ€λ°λ₯Έλ€. | ||
- μμ κ΄λ‘μ @param, @return, @throws νκ·Έμ μ€λͺ μλ λ§μΉ¨νλ₯Ό λΆμ΄μ§ μλλ€. | ||
|
||
```java | ||
public interface List<E> extends Collection<E> { | ||
// Positional Access Operations | ||
|
||
/** | ||
* Returns the element at the specified position in this list. | ||
* | ||
* @param index index of the element to return | ||
* @return the element at the specified position in this list | ||
* @throws IndexOutOfBoundsException if the index is out of range | ||
* ({@code index < 0 || index >= size()}) | ||
*/ | ||
E get(int index); | ||
|
||
} | ||
``` | ||
|
||
- λ¬Έμν μ£Όμ μμ HTML μμλ€μ΄ μ΅μ’ HTML λ¬Έμμ λ°μλλ€. | ||
- μλ°λ μ€λͺ μ HTML tableμ λ£λ κ²λ κ°λ₯νλ€. | ||
|
||
- `{@code}` νκ·Έ | ||
- νκ·Έλ‘ κ°μ° λ΄μ©μ μ½λμ© ν°νΈλ‘ λ λλ§νλ€. | ||
- νκ·Έλ‘ κ°μΌ λ΄μ©μ ν¬ν¨λ HTML μμλ λ€λ₯Έ μλ°λ νκ·Έλ₯Ό 무μνλ€. | ||
- HTML λ©νλ¬ΈμμΈ `<` κΈ°νΈ λ±μ λ³λ€λ₯Έ μ²λ¦¬ μμ΄ λ°λ‘ μ¬μ©ν μ μλ€. | ||
- λ¬Έμν μ£Όμμ μ¬λ¬ μ€λ‘ λ μ½λ μμλ₯Ό λ£μΌλ €λ©΄ `{@code}` νκ·Έλ₯Ό λ€μ `<pre>` νκ·Έλ‘ κ°μΈλ©΄ λλ€. | ||
- `<pre></pre>`λ₯Ό μ¬μ©νλ©΄ μ½λμ μ€λ°κΏμ΄ κ·Έλλ‘ μ μ§λλ€. | ||
- λ¨, @κΈ°νΈμλ 무쑰건 νμΆλ¬Έμλ₯Ό λΆμ¬μΌ νλ λ¬Έμν μ£Όμ μμ μ½λμμ μ΄λ Έν μ΄μ μ μ¬μ©νλ€λ©΄ μ£Όμν΄μΌ νλ€. | ||
|
||
- μλ¬Έ λ¬Έμν μ£Όμμμ μ΄ **`this list`** λ κ΄λ‘μ, μΈμ€ν΄μ€ λ©μλμ λ¬Έμν μ£Όμμ μ°μΈ `this`λ νΈμΆλ λ©μλκ° μ리νλ κ°μ²΄λ₯Ό κ°λ¦¬ν¨λ€. | ||
|
||
### ν΄λμ€ μμμ©μΌλ‘ μ€κ³ μ λ¬Έμν μ£Όμ | ||
|
||
- μκΈ°μ¬μ© ν¨ν΄(self-use pattern)μ λν΄μ λ¬Έμμ λ¨κ²¨ λ€λ₯Έ νλ‘κ·Έλλ¨Έμκ² κ·Έ λ©μλλ₯Ό μ¬λ°λ‘ μ¬μ μνλ λ°©λ²μ μλ €μ€μΌ νλ€. | ||
- μκΈ°μ¬μ© ν¨ν΄μ μλ° 8μ μΆκ°λ `@implSpec` νκ·Έλ‘ λ¬Έμννλ€. | ||
- μΌλ°μ μΈ λ¬Έμν μ£Όμμ ν΄λΉ λ©μλμ ν΄λΌμ΄μΈνΈ μ¬μ΄μ κ³μ½μ μ€λͺ νλ€. | ||
|
||
- λ°λ©΄, `@implSpec` μ£Όμμ ν΄λΉ λ©μλμ νμ ν΄λμ€ μ¬μ΄μ κ³μ½μ μ€λͺ νμ¬, νμ ν΄λμ€λ€μ΄ κ·Έ λ©μλλ₯Ό μμνκ±°λ super ν€μλλ₯Ό μ΄μ©ν΄ νΈμΆν λ κ·Έ λ©μλκ° μ΄λ»κ² λμνλμ§λ₯Ό λͺ νν μΈμ§νκ³ μ¬μ©νλλ‘ ν΄μ€μΌ νλ€. | ||
|
||
```java | ||
public interface List<E> extends Collection<E> { | ||
|
||
/** | ||
* Returns true< if this list contains no elements. | ||
* @implSpec | ||
* This implementation returns {@code this size ==0}. | ||
* | ||
* @return true if this list contains no elements | ||
*/ | ||
boolean isEmpty(); | ||
} | ||
``` | ||
|
||
- μλ° 11κΉμ§λ μλ°λ λͺ λ Ήμ€μμ `-tag "implSpec:a:Implementation Requirements:"` μ€μμΉλ₯Ό μΌμ£Όμ§ μμΌλ©΄ `@implSpec` νκ·Έλ₯Ό 무μν΄ λ²λ¦°λ€. | ||
|
||
### API μ€λͺ μ HTML λ©ν λ¬Έμλ₯Ό ν¬ν¨νκΈ° μν μ²λ¦¬ | ||
|
||
- `{@literal}` νκ·Έλ‘ κ°μΈλ©΄ HTML λ§ν¬μ μ΄λ μλ°λ νκ·Έλ₯Ό 무μνκ² ν΄μ€λ€. | ||
- `{@code}` νκ·Έμ λΉμ·νμ§λ§ μ½λ ν°νΈλ‘ λ λλ§νμ§ μλλ€. | ||
|
||
```text | ||
* {@literal |r| < 1} | ||
``` | ||
|
||
- λ¬Έμν μ£Όμμ μ½λμμ건 λ³νλ API λ¬Έμμμ건 μ½κΈ° μ¬μμΌ νλ€λκ² μΌλ° μμΉμ΄λ€. | ||
|
||
## API λ¬Έμμμμ κ°λ μ± | ||
|
||
- κ° λ¬Έμν μ£Όμμ 첫 λ²μ§Έ λ¬Έμ₯μ ν΄λΉ μμμ μμ½ μ€λͺ (summary description)μΌλ‘ κ°μ£Όλλ€. | ||
- μμ½ μ€λͺ μ λ°λμ λμμ κΈ°λ₯μ κ³ μ νκ² κΈ°μ ν΄μΌ νλ€. | ||
- ν·κ°λ¦¬μ§ μμΌλ €λ©΄ ν ν΄λμ€(νΉμ μΈν°νμ΄μ€) μμμ μμ½ μ€λͺ μ΄ λκ°μ λ©€λ²(νΉμ μμ±μ)κ° λ μ΄μμ΄λ©΄ μλλ€, | ||
|
||
- λ€μ€μ μλ λ©μλκ° μλ κ²½μ° κ° λ©μλλ€μ μ€λͺ μ κ°μ λ¬Έμ₯μΌλ‘ μμνλκ² μμ°μ€λ½κ² μ§λ§ λ¬Έμν μ£Όμμμλ νμ©λμ§ μλλ€. | ||
- μμ½ μ€λͺ μμλ λ§μΉ¨ν(.)μ μ£Όμν΄μΌ νλ€. | ||
- μμ½ μ€λͺ μ΄ λλλ νλ¨ κΈ°μ€μ μ²μμ λ°κ²¬λλ {<λ§μΉ¨ν><곡백><λ€μ λ¬Έμ₯ μμ>} ν¨ν΄μ <λ§μΉ¨ν>κΉμ§μ΄λ€. | ||
- μ¬κΈ°μ <곡백>μ μ€νμ΄μ€, ν, μ€λ°κΏ(νΉμ 첫 λ²μ§Έ λΈλ‘ νκ·Έ)μ΄λ€. | ||
- <λ€μ λ¬Έμ₯ μμ>μ 'μλ¬Έμκ° μλ' λ¬Έμμ΄λ€. | ||
- κ°μ₯ μ’μ ν΄κ²°μ± μ μλνμ§ μμ λ§μΉ¨νλ₯Ό ν¬ν¨ν ν μ€νΈλ₯Ό {@literal}λ‘ κ°μΈμ£Όλ κ²μ΄λ€. | ||
|
||
```java | ||
/** | ||
* A suspect, such as Colonel Mustard or {@literal Mrs. Peacock} | ||
*/ | ||
public class Suspect { | ||
|
||
} | ||
|
||
/** | ||
* λ¨Έμ€νλ λλ Ήμ΄λ {@literal Mrs. νΌμ½} κ°μ μ©μμ. | ||
*/ | ||
public class Suspect { | ||
|
||
} | ||
``` | ||
|
||
- μλ° 10λΆν° {@summary}λΌλ μμ½ μ μ© νκ·Έκ° μΆκ°λμ΄ κΉλνκ² μ²λ¦¬ν μ μλ€. | ||
|
||
```java | ||
/** | ||
* {@summary A suspect, such as Colonel Mustard or Mrs. Peacock.} | ||
*/ | ||
public enum Suspect { | ||
|
||
} | ||
``` | ||
|
||
- μ£Όμ μμ± κ·μ½μ λ°λ₯΄λ©΄ μμ½ μ€λͺ μ μμ ν λ¬Έμ₯μ΄ λλ κ²½μ°κ° λλ¬Όλ€. | ||
- λ©μλμ μμ±μμ μμ½ μ€λͺ μ ν΄λΉ λ©μλμ μμ±μμ λμμ μ€λͺ νλ (μ£Όμ΄κ° μλ) λμ¬κ΅¬μ¬μΌ νλ€. | ||
|
||
```text | ||
ArrayList(int initialCapacity): Constructs an empty list with the specified initial capacity. | ||
Collection.size(): Returns the number of elements in this collection. | ||
``` | ||
|
||
- 2μΈμΉ λ¬Έμ₯(return the number) μ΄ μλ 3μΈμΉ λ¬Έμ₯(returns the number)μΌλ‘ μ¨μΌ νλ€. | ||
|
||
### ν΄λμ€, μΈν°νμ΄μ€, νλμ μμ½ μ€λͺ μ λμμ μ€λͺ νλ λͺ μ¬μ μ΄μ΄μΌ νλ€. | ||
|
||
- ν΄λμ€μ μΈν°νμ΄μ€μ λμμ κ·Έ μΈμ€ν΄μ€μ΄κ³ , νλμ λμμ νλ μμ μ΄λ€. | ||
|
||
```text | ||
Instant:An instantaneous point on the time-line. | ||
Math.PI: The double value that is closer than any other to pi, the ratio of | ||
the circumference of a circle to its diameter. | ||
``` | ||
|
||
- μλ° 9λΆν°λ μλ°λ μ΄ μμ±ν HTML λ¬Έμμ κ²μ(μμΈ) κΈ°λ₯μ΄ μΆκ°λμ΄ κ΄λν API λ¬Έμλ€μ λλΉλ μΌμ΄ νκ²° μμν΄μ‘λ€. | ||
- API λ¬Έμ νμ΄μ§ μ€λ₯Έμͺ½ μμ μλ κ²μμ°½μ ν€μλλ₯Ό μ λ ₯νλ©΄ κ΄λ ¨ νμ΄μ§λ€μ΄ λλ‘λ€μ΄ λ©λ΄λ‘ λνλλ€. | ||
|
||
- ν΄λμ€, λ©μλ, νλ κ°μ API μμμ μμΈμ μλμΌλ‘ λ§λ€μ΄μ§λ©°, μνλ€λ©΄ {@index} νκ·Έλ₯Ό μ¬μ©ν΄ μ¬λ¬λΆμ APIμμ μ€μν μ©μ΄λ₯Ό μΆκ°λ‘ μμΈνν μ μλ€. | ||
|
||
```java | ||
/** | ||
* This method complies with the {@index IEEE 754} standard. | ||
*/ | ||
``` | ||
|
||
## μ λ€λ¦, μ΄κ±° νμ , μ΄λ Έν μ΄μ μμ λ¬Έμν μ£Όμ | ||
|
||
### μ λ€λ¦ νμ μ΄λ μ λ€λ¦ λ©μλλ₯Ό λ¬Έμν | ||
|
||
- λͺ¨λ νμ 맀κ°λ³μμ μ£Όμμ λ¬μμΌ νλ€. | ||
|
||
```java | ||
/** | ||
* @param <K> the type of keys maintained by this map | ||
* @param <V> the type of mapped values | ||
*/ | ||
public interface Map<K, V> { | ||
|
||
} | ||
``` | ||
|
||
### μ΄κ±° νμ μ λ¬Έμν | ||
|
||
- μμλ€μλ μ£Όμμ λ¬μμΌ νλ€. | ||
- μ΄κ±° νμ μ체μ κ·Έ μ΄κ±° νμ μ public λ©μλλ μ£Όμμ λ¬μμΌ νλ€. | ||
|
||
```java | ||
public enum OrchestraSection { | ||
/** Woodwinds, such as flute, clarinet, and oboe */ | ||
WOODWIND, | ||
/** Brass instruments, such as french horn and trumpet */ | ||
BRASS, | ||
/** Percussion instruments, such as timpani and cymbals */ | ||
PERCUSSION, | ||
/** Stringed instruments, such as violin and cello */ | ||
STRING; | ||
} | ||
``` | ||
|
||
### μ΄λ Έν μ΄μ νμ μ λ¬Έμν | ||
|
||
- νλ, λ©€λ²λ€μλ λͺ¨λ μ£Όμμ λ¬μμΌ νλ€. | ||
- νλ μ€λͺ μ λͺ μ¬κ΅¬λ‘ νλ€. | ||
- μ΄λ Έν μ΄μ νμ μ μμ½ μ€λͺ μ νλ‘κ·Έλ¨ μμμ μ΄ μ΄λ Έν μ΄μ μ λ¨λ€λ κ²μ΄ μ΄λ€ μλ―ΈμΈμ§λ₯Ό μ€λͺ νλ λμ¬κ΅¬λ‘ νλ€. | ||
|
||
```java | ||
/** | ||
* Indicates that the annotated method is a test method that | ||
* must throw the designated exception to pass. | ||
*/ | ||
@Retention(RetentionPolicy.RUNTIME) | ||
@Target(ElementType.METHOD) | ||
public @interface ExceptionTest { | ||
/** | ||
* The exception that the annotated test method must throw | ||
* in order to pass. (The test is permitted to throw any | ||
* subtype of the type described by this class object.) | ||
*/ | ||
Class<? extends Throwable> valueO; | ||
} | ||
``` | ||
|
||
- ν¨ν€μ§λ₯Ό μ€λͺ νλ λ¬Έμν μ£Όμμ package-info.java νμΌμ μμ±νλ€. | ||
- μ΄ νμΌμ ν¨ν€μ§ μ μΈμ λ°λμ ν¬ν¨ν΄μΌ νλ©° ν¨ν€μ§ μ μΈ κ΄λ ¨ μ΄λ Έν μ΄μ μ μΆκ°λ‘ ν¬ν¨ν μλ μλ€. | ||
|
||
- μλ° 9λΆν° μ§μνλ λͺ¨λ μμ€ν λ μ΄μ λΉμ·νλ€. [μμ΄ν 15]() | ||
- λͺ¨λ μμ€ν μ μ¬μ©νλ€λ©΄ λͺ¨λ κ΄λ ¨ μ€λͺ μ module-info.java νμΌμ μμ±νλ©΄ λλ€. | ||
|
||
## API λ¬Έμνμμ μμ£Ό λλ½λλ μ€λͺ λ κ°μ§ | ||
|
||
- μ€λ λ μμ μ±κ³Ό μ§λ ¬ν μμ μ± | ||
- ν΄λμ€ νΉμ μ μ λ©μλκ° μ€λ λ μμ νλ κ·Έλ μ§ μλ , μ€λ λ μμ μμ€μ λ°λμ API μ€λͺ μ ν¬ν¨ν΄μΌ νλ€.[μμ΄ν 82]() | ||
- μ§λ ¬ν ν μ μλ ν΄λμ€λΌλ©΄ μ§λ ¬ν ννλ API μ€λͺ μ κΈ°μ ν΄μΌ νλ€.[μμ΄ν 87]() | ||
|
||
### μλ°λ μ λ©μλ μ£Όμ 'μμ'μν¬ μ μλ€. | ||
|
||
- λ¬Έμν μ£Όμμ΄ μλ API μμλ₯Ό λ°κ²¬νλ©΄ μλ°λ μ΄ κ°μ₯ κ°κΉμ΄ λ¬Έμν μ£Όμμ μ°Ύμμ€λ€. | ||
- μ΄λ μμ 'ν΄λμ€'λ³΄λ€ κ·Έ ν΄λμ€κ° ꡬνν 'μΈν°νμ΄μ€'λ₯Ό λ¨Όμ μ°Ύλλ€. | ||
|
||
- [The Javadoc Reference Guide](https://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html) | ||
|
||
- λν {@inheritDoc} νκ·Έλ₯Ό μ¬μ©ν΄ μμ νμ μ λ¬Έμν μ£Όμμ μΌλΆ μμν μ μλ€. | ||
- ν΄λμ€λ μμ μ΄ κ΅¬νν μΈν°νμ΄μ€μ λ¬Έμν μ£Όμμ μ¬μ¬μ©ν μ μλ€λ λ»μ΄λ€. | ||
- μ΄ κΈ°λ₯μ νμ©νλ©΄ κ±°μ λκ°μ λ¬Έμν μ£Όμ μ¬λ¬ κ°λ₯Ό μ μ§λ³΄μνλ λΆλ΄μ μ€μΌ μ μμ§λ§, μ¬μ©νκΈ° κΉλ€λ‘κ³ μ μ½λ μ‘°κΈ μλ€. | ||
- [λ©μλ μ£Όμ μμν](https://docs.oracle.com/javase/6/docs/technotes/tools/solaris/javadoc.html#inheritingcomments) | ||
|
||
### λ¬Έμν μ£Όμ μ£Όμμ¬ν | ||
|
||
- μ¬λ¬ ν΄λμ€κ° μνΈμμ©νλ 볡μ‘ν APIμ κ²½μ° λ¬Έμν μ£Όμ μΈμλ μ 체 μν€ν μ²λ₯Ό μ€λͺ νλ λ³λμ μ€λͺ μ΄ νμν λκ° μλ€. | ||
- μ΄λ° μ€λͺ λ¬Έμκ° μλ€λ©΄ κ΄λ ¨ ν΄λμ€λ ν¨ν€μ§μ λ¬Έμν μ£Όμμμ κ·Έ λ¬Έμμ λ§ν¬λ₯Ό μ 곡ν΄μ£Όλ©΄ μ’λ€. | ||
|
||
## μλ°λ λ¬Έμλ₯Ό μ¬λ°λ₯΄κ² μμ±νλμ§ νμΈνλ κΈ°λ₯ | ||
|
||
- μλ° 7μμλ CLIμμ -Xdoclint μ€μμΉλ₯Ό μΌμ£Όλ©΄ κΈ°λ₯μ΄ νμ±νλλ€. | ||
- μλ° 8λΆν°λ κΈ°λ³ΈμΌλ‘ μλνλ€. | ||
|
||
- μ²΄ν¬ μ€νμΌ(checkstyle) κ°μ IDE νλ¬κ·ΈμΈμ μ¬μ©νλ©΄ λ μλ²½νκ² κ²μ¬λλ€. | ||
- μλ°λ μ΄ μμ±ν HTML νμΌμ HTML μ ν¨μ± κ²μ¬κΈ°λ‘ λ리면 λ¬Έμν μ£Όμμ μ€λ₯λ₯Ό νμΈ΅ λ μ€μΌ μ μλ€. | ||
- HTML μ ν¨μ± κ²μ¬κΈ°λ μλͺ» μ¬μ©ν HTML νκ·Έλ₯Ό μ°Ύμμ€λ€. | ||
- λ‘컬μ λ΄λ €λ°μ μ¬μ©ν μ μλ μ€μΉν κ²μ¬κΈ° | ||
- μΉμμ λ°λ‘ μ¬μ©ν μ μλ W3C λ§ν¬μ κ²μ¬ μλΉμ€[W3C-validator]λ μλ€. | ||
- μλ° 9μ 10μ μλ°λ μ κΈ°λ³Έμ μΌλ‘ HTML 4.01 λ¬Έμλ₯Ό μμ±, λͺ λ Ήμ€μμ -html5 μ€μμΉλ₯Ό μΌλ©΄ HTML5 λ²μ μΌλ‘ λ§λ€μ΄μ€λ€. | ||
|
||
## μ 리 | ||
|
||
- λ¬Έμν μ£Όμμ APIλ₯Ό λ¬Έμννλ κ°μ₯ νλ₯νκ³ ν¨κ³Όμ μΈ λ°©λ²μ΄λ€. | ||
- κ³΅κ° APIμΈ κ²½μ° νμ€ κ·μ½μ μΌκ΄λκ² μ€λͺ μ λ¬μμΌ νλ€. | ||
- λ¬Έμν μ£Όμμ μμ HTML νκ·Έλ₯Ό μ¬μ©ν μ μλ€. | ||
- λ¨, HTML λ©νλ¬Έμλ νΉλ³νκ² μ·¨κΈν΄μΌ νλ€. |