--- /dev/null
+# μμ‘΄μ±μΌλ‘μμ ν΄λμ€
+
+**μμ‘΄μ± μ£Όμ
** μμ€ν
μ λν΄ μμΈν μ΄ν΄λ³΄κΈ° μ μ μ΄μ μμ λ₯Ό μ
κ·Έλ μ΄λ ν΄λ³΄κ² μ΅λλ€.
+
+## μ΄μ μμ μ `λμ
λ리`
+
+μ΄μ μμ μμ, μ°λ¦¬λ μμ‘΄μ±(μμ‘΄ κ°λ₯ν) ν¨μμμ `λμ
λ리`κ°μ²΄λ₯Ό λ°ννκ³ μμμ΅λλ€:
+
+=== "νμ΄μ¬ 3.6 μ΄μ"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/dependencies/tutorial001.py!}
+ ```
+
+=== "νμ΄μ¬ 3.10 μ΄μ"
+
+ ```Python hl_lines="7"
+ {!> ../../../docs_src/dependencies/tutorial001_py310.py!}
+ ```
+
+μ°λ¦¬λ *κ²½λ‘ μλ ν¨μ*μ λ§€κ°λ³μ `commons`μμ `λμ
λ리` κ°μ²΄λ₯Ό μ»μ΅λλ€.
+
+κ·Έλ¦¬κ³ μ°λ¦¬λ μλν°λ€μ΄ `λμ
λ리` κ°μ²΄μ ν€λ λ°Έλ₯μ μλ£νμ μ μ μκΈ° λλ¬Έμ μλ μμ±κ³Ό κ°μ κΈ°λ₯μ μ κ³΅ν΄ μ€ μ μλ€λ κ²μ μκ³ μμ΅λλ€.
+
+λ λμ λ°©λ²μ΄ μμ κ² κ°μ΅λλ€...
+
+## μμ‘΄μ±μΌλ‘ μ¬μ© κ°λ₯ν κ²
+
+μ§κΈκΉμ§ ν¨μλ‘ μ μΈλ μμ‘΄μ±μ λ΄μμ΅λλ€.
+
+μλ§λ λ μΌλ°μ μ΄κΈ°λ νκ² μ§λ§ μμ‘΄μ±μ μ μΈνλ μ μΌν λ°©λ²μ μλλλ€.
+
+ν΅μ¬ μμλ μμ‘΄μ±μ΄ "νΈμΆ κ°λ₯"ν΄μΌ νλ€λ κ²μ
λλ€
+
+νμ΄μ¬μμμ "**νΈμΆ κ°λ₯**"μ νμ΄μ¬μ΄ ν¨μμ²λΌ "νΈμΆ"ν μ μλ λͺ¨λ κ²μ
λλ€.
+
+λ°λΌμ, λ§μ½ λΉμ μ΄ `something`(ν¨μκ° μλ μλ μμ) κ°μ²΄λ₯Ό κ°μ§κ³ μκ³ ,
+
+```Python
+something()
+```
+
+λλ
+
+```Python
+something(some_argument, some_keyword_argument="foo")
+```
+
+μκΈ°μ κ°μ λ°©μμΌλ‘ "νΈμΆ(μ€ν)" ν μ μλ€λ©΄ "νΈμΆ κ°λ₯"μ΄ λ©λλ€.
+
+## μμ‘΄μ±μΌλ‘μμ ν΄λμ€
+
+νμ΄μ¬ ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μμ±νκΈ° μν΄ μ¬μ©νλ κ²κ³Ό λμΌν λ¬Έλ²μ μ¬μ©νλ€λ κ±Έ μ μ μμ΅λλ€.
+
+μλ₯Ό λ€μ΄:
+
+```Python
+class Cat:
+ def __init__(self, name: str):
+ self.name = name
+
+
+fluffy = Cat(name="Mr Fluffy")
+```
+
+μ΄ κ²½μ°μ `fluffy`λ ν΄λμ€ `Cat`μ μΈμ€ν΄μ€μ
λλ€. κ·Έλ¦¬κ³ μ°λ¦¬λ `fluffy`λ₯Ό λ§λ€κΈ° μν΄μ `Cat`μ "νΈμΆ"νμ΅λλ€.
+
+λ°λΌμ, νμ΄μ¬ ν΄λμ€λ **νΈμΆ κ°λ₯**ν©λλ€.
+
+κ·Έλμ **FastAPI**μμλ νμ΄μ¬ ν΄λμ€λ₯Ό μμ‘΄μ±μΌλ‘ μ¬μ©ν μ μμ΅λλ€.
+
+FastAPIκ° μ€μ§μ μΌλ‘ νμΈνλ κ²μ "νΈμΆ κ°λ₯μ±"(ν¨μ, ν΄λμ€ λλ λ€λ₯Έ λͺ¨λ κ²)κ³Ό μ μλ λ§€κ°λ³μλ€μ
λλ€.
+
+"νΈμΆ κ°λ₯"ν κ²μ μμ‘΄μ±μΌλ‘μ **FastAPI**μ μ λ¬νλ©΄, κ·Έ "νΈμΆ κ°λ₯"ν κ²μ λ§€κ°λ³μλ€μ λΆμν ν μ΄λ₯Ό *κ²½λ‘ λμ ν¨μ*λ₯Ό μν λ§€κ°λ³μμ λμΌν λ°©μμΌλ‘ μ²λ¦¬ν©λλ€. νμ-μμ‘΄μ± λν κ°μ λ°©μμΌλ‘ μ²λ¦¬ν©λλ€.
+
+λ§€κ°λ³μκ° μλ "νΈμΆ κ°λ₯"ν κ² μμ λ§€κ°λ³μκ° μλ *κ²½λ‘ λμ ν¨μ*μ λμΌν λ°©μμΌλ‘ μ μ©λ©λλ€.
+
+κ·Έλμ, μ°λ¦¬λ μ μμ μμμ `common_paramenters` μμ‘΄μ±μ ν΄λμ€ `CommonQueryParams`λ‘ λ°κΏ μ μμ΅λλ€.
+
+=== "νμ΄μ¬ 3.6 μ΄μ"
+
+ ```Python hl_lines="11-15"
+ {!> ../../../docs_src/dependencies/tutorial002.py!}
+ ```
+
+=== "νμ΄μ¬ 3.10 μ΄μ"
+
+ ```Python hl_lines="9-13"
+ {!> ../../../docs_src/dependencies/tutorial002_py310.py!}
+ ```
+
+ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μμ±νλ λ° μ¬μ©λλ `__init__` λ©μλμ μ£Όλͺ©νκΈ° λ°λλλ€:
+
+=== "νμ΄μ¬ 3.6 μ΄μ"
+
+ ```Python hl_lines="12"
+ {!> ../../../docs_src/dependencies/tutorial002.py!}
+ ```
+
+=== "νμ΄μ¬ 3.10 μ΄μ"
+
+ ```Python hl_lines="10"
+ {!> ../../../docs_src/dependencies/tutorial002_py310.py!}
+ ```
+
+...μ΄μ `common_parameters`μ λμΌν λ§€κ°λ³μλ₯Ό κ°μ§λλ€:
+
+=== "νμ΄μ¬ 3.6 μ΄μ"
+
+ ```Python hl_lines="9"
+ {!> ../../../docs_src/dependencies/tutorial001.py!}
+ ```
+
+=== "νμ΄μ¬ 3.10 μ΄μ"
+
+ ```Python hl_lines="6"
+ {!> ../../../docs_src/dependencies/tutorial001_py310.py!}
+ ```
+
+μ΄ λ§€κ°λ³μλ€μ **FastAPI**κ° μμ‘΄μ±μ "ν΄κ²°"νκΈ° μν΄ μ¬μ©ν κ²μ
λλ€
+
+ν¨μμ ν΄λμ€ λ κ°μ§ λ°©μ λͺ¨λ, μλ μμλ₯Ό κ°μ΅λλ€:
+
+* `λ¬Έμμ΄`μ΄λ©΄μ μ νμ¬νμΈ μΏΌλ¦¬ λ§€κ°λ³μ `q`.
+* κΈ°λ³Έκ°μ΄ `0`μ΄λ©΄μ `μ μν`μΈ μΏΌλ¦¬ λ§€κ°λ³μ `skip`
+* κΈ°λ³Έκ°μ΄ `100`μ΄λ©΄μ `μ μν`μΈ μΏΌλ¦¬ λ§€κ°λ³μ `limit`
+
+λ κ°μ§ λ°©μ λͺ¨λ, λ°μ΄ν°λ λ³ν, κ²μ¦λκ³ OpenAPI μ€ν€λ§μ λ¬Έμνλ©λλ€.
+
+## μ¬μ©ν΄λ΄
μλ€!
+
+μ΄μ μλμ ν΄λμ€λ₯Ό μ΄μ©ν΄μ μμ‘΄μ±μ μ μν μ μμ΅λλ€.
+
+=== "νμ΄μ¬ 3.6 μ΄μ"
+
+ ```Python hl_lines="19"
+ {!> ../../../docs_src/dependencies/tutorial002.py!}
+ ```
+
+=== "νμ΄μ¬ 3.10 μ΄μ"
+
+ ```Python hl_lines="17"
+ {!> ../../../docs_src/dependencies/tutorial002_py310.py!}
+ ```
+
+**FastAPI**λ `CommonQueryParams` ν΄λμ€λ₯Ό νΈμΆν©λλ€. μ΄κ²μ ν΄λΉ ν΄λμ€μ "μΈμ€ν΄μ€"λ₯Ό μμ±νκ³ κ·Έ μΈμ€ν΄μ€λ ν¨μμ λ§€κ°λ³μ `commons`λ‘ μ λ¬λ©λλ€.
+
+## νμ
νν
vs `Depends`
+
+μ μ½λμμ `CommonQueryParams`λ₯Ό λ λ² μμ±ν λ°©μμ μ£Όλͺ©νμμμ€:
+
+```Python
+commons: CommonQueryParams = Depends(CommonQueryParams)
+```
+
+λ§μ§λ§ `CommonQueryParams` λ³μλ₯Ό 보면:
+
+```Python
+... = Depends(CommonQueryParams)
+```
+
+... **FastAPI**κ° μ€μ λ‘ μ΄λ€ κ²μ΄ μμ‘΄μ±μΈμ§ μκΈ° μν΄μ μ¬μ©νλ λ°©λ²μ
λλ€.
+FastAPIλ μ μΈλ λ§€κ°λ³μλ€μ μΆμΆν κ²μ΄κ³ μ€μ λ‘ μ΄ λ³μλ€μ νΈμΆν κ²μ
λλ€.
+
+---
+
+μ΄ κ²½μ°μ, 첫λ²μ§Έ `CommonQueryParams` λ³μλ₯Ό 보면:
+
+```Python
+commons: CommonQueryParams ...
+```
+
+... **FastAPI**λ `CommonQueryParams` λ³μμ μ΄λ ν νΉλ³ν μλ―Έλ λΆμ¬νμ§ μμ΅λλ€. FastAPIλ μ΄ λ³μλ₯Ό λ°μ΄ν° λ³ν, κ²μ¦ λ±μ νμ©νμ§ μμ΅λλ€. (νμ©νλ €λ©΄ `= Depends(CommonQueryParams)`λ₯Ό μ¬μ©ν΄μΌ ν©λλ€.)
+
+μ¬μ€ μλμ κ°μ΄ μμ±ν΄λ 무κ΄ν©λλ€:
+
+```Python
+commons = Depends(CommonQueryParams)
+```
+
+..μ 체μ μΈ μ½λλ μλμ κ°μ΅λλ€:
+
+=== "νμ΄μ¬ 3.6 μ΄μ"
+
+ ```Python hl_lines="19"
+ {!> ../../../docs_src/dependencies/tutorial003.py!}
+ ```
+
+=== "νμ΄μ¬ 3.10 μ΄μ"
+
+ ```Python hl_lines="17"
+ {!> ../../../docs_src/dependencies/tutorial003_py310.py!}
+ ```
+
+κ·Έλ¬λ μλ£νμ μ μΈνλ©΄ μλν°κ° λ§€κ°λ³μ `commons`λ‘ μ λ¬λ κ²μ΄ 무μμΈμ§ μκ² λκ³ , μ΄λ₯Ό ν΅ν΄ μ½λ μμ±, μλ£ν νμΈ λ±μ λμμ΄ λ μ μμΌλ―λ‘ κΆμ₯λ©λλ€.
+
+<!-- <img src="/img/tutorial/dependencies/image02.png"> -->
+
+## μ½λ λ¨μΆ
+
+κ·Έλ¬λ μ¬κΈ° `CommonQueryParams`λ₯Ό λ λ²μ΄λ μμ±νλ, μ½λ λ°λ³΅μ΄ μλ€λ κ²μ μ μ μμ΅λλ€:
+
+```Python
+commons: CommonQueryParams = Depends(CommonQueryParams)
+```
+
+**FastAPI**λ *νΉν* μμ‘΄μ±μ΄ **FastAPI**κ° ν΄λμ€ μ체μ μΈμ€ν΄μ€λ₯Ό μμ±νκΈ° μν΄ "νΈμΆ"νλ ν΄λμ€μΈ κ²½μ°, μ‘°κΈ λ μ¬μ΄ λ°©λ²μ μ 곡ν©λλ€.
+
+μ΄λ¬ν νΉμ ν κ²½μ°μλ μλμ²λΌ μ¬μ©ν μ μμ΅λλ€:
+
+μ΄λ κ² μ°λ κ² λμ :
+
+```Python
+commons: CommonQueryParams = Depends(CommonQueryParams)
+```
+
+...μ΄λ κ² μΈ μ μμ΅λλ€.:
+
+```Python
+commons: CommonQueryParams = Depends()
+```
+
+μμ‘΄μ±μ λ§€κ°λ³μμ νμ
μΌλ‘ μ μΈνλ κ²½μ° `Depends(CommonQueryParams)`μ²λΌ ν΄λμ€ μ΄λ¦ μ 체λ₯Ό *λ€μ* μμ±νλ λμ , λ§€κ°λ³μλ₯Ό λ£μ§ μμ `Depends()`μ ννλ‘ μ¬μ©ν μ μμ΅λλ€.
+
+μλμ κ°μ μμ κ° μμ΅λλ€:
+
+=== "νμ΄μ¬ 3.6 μ΄μ"
+
+ ```Python hl_lines="19"
+ {!> ../../../docs_src/dependencies/tutorial004.py!}
+ ```
+
+=== "νμ΄μ¬ 3.10 μ΄μ"
+
+ ```Python hl_lines="17"
+ {!> ../../../docs_src/dependencies/tutorial004_py310.py!}
+ ```
+
+...μ΄λ κ² μ½λλ₯Ό λ¨μΆνμ¬λ **FastAPI**λ 무μμ ν΄μΌνλμ§ μκ³ μμ΅λλ€.
+
+!!! tip "ν"
+ λ§μ½ μ΄κ²μ΄ λμμ΄ λκΈ°λ³΄λ€ λ ν·κ°λ¦¬κ² λ§λ λ€λ©΄, μμ΄λ²λ¦¬μμμ€. μ΄κ²μ΄ λ°λμ νμν κ²μ μλλλ€.
+
+ μ΄κ²μ λ¨μ§ μμ¬μ΄ λ°©λ²μΌ λΏμ
λλ€. μλνλ©΄ **FastAPI**λ μ½λ λ°λ³΅μ μ΅μνν μ μλ λ°©λ²μ κ³ λ―ΌνκΈ° λλ¬Έμ
λλ€.