2021. 9. 13. 22:32γκ°λ μ 리 μμ μ€/Java
μλ νμΈμ? μ£Όλνλ μ λλ€.
μ€λμ μλ°μ κΈ°μ΄ μ€ νλμΈ Staticμ λν΄μ μ 리 ν΄ λ³Ό κ²μ΄μμ.
μ΄ λ΄μ©μ μλ°μ μ μμ μ°Έκ³ νμλ΅λλ€!
π ν΄λμ€ λ©μλ(static λ©μλ)μ μΈμ€ν΄μ€ λ©μλ
λ©μλ μμ staticμ΄ λΆμ κ²μ΄ μλ€λ©΄ Class λ©μλμ΄κ³ , κ·Έλ μ§ μμΌλ©΄ μΈμ€ν΄μ€(κ°μ²΄) λ©μλμΈ κ²μ΄μμ.
ν΄λμ€ λ©μλλ ν΄λμ€ λ³μμ²λΌ κ°μ²΄λ₯Ό μμ±νμ§ μκ³ λ 'ClassName.MethodName(λ§€κ° λ³μ)' νμμΌλ‘ νΈμΆμ΄ κ°λ₯ν κ²μ΄μμ.
νμ§λ§ μΈμ€ν΄μ€ λ©μλλ λ°λμ κ°μ²΄λ₯Ό μμ±ν΄μΌλ§ νΈμΆν μ μλ κ²μ΄μμ.
κ·Έλ λ€λ©΄ μ΄λ€ κ²½μ°μ staticμ μ¬μ©νμ¬ ν΄λμ€ λ©μλλ‘ μ μνλ κ²μΌκΉμ?
ν΄λμ€λ 'Data(λ³μ)μ Dataμ κ΄λ ¨λ λ©μλμ μ§ν©'μ΄κΈ° λλ¬Έμ κ°μ ν΄λμ€ λ΄μ μλ λ©μλμ λ©€λ²λ³μλ μμ£Ό λ°μ ν κ΄κ³κ° μλ κ²μ΄μμ.
μΈμ€ν΄μ€ λ©μλλ μΈμ€ν΄μ€ λ³μμ κ΄λ ¨λ μμ μ νλ μ¦, λ©μλμ μμ μ μννλλ° μΈμ€ν΄μ€ λ³μλ₯Ό νμλ‘ νλ λ©μλμΈ κ²μ΄μμ.
κ·Έλ°λ° μΈμ€ν΄μ€ λ³μλ μΈμ€ν΄μ€(κ°μ²΄)λ₯Ό μμ±ν΄μΌλ§ λ§λ€μ΄μ§κΈ° λλ¬Έμ μΈμ€ν΄μ€ λ©μλ μμ μΈμ€ν΄μ€λ₯Ό μμ±ν΄μΌλ§ νΈμΆν μ μλ κ²μ΄μμ.
λ°λ³ μΈμ€ν΄μ€μ κ΄κ³μλ (μΈμ€ν΄μ€ λ³μλ μΈμ€ν΄μ€ λ©μλλ₯Ό μ¬μ©νμ§ μλ) λ©μλλ₯Ό ν΄λμ€ λ©μλ λ°λ‘ μ€λμ μ£ΌμΈκ³΅ static λ©μλλ‘ μ μνλ κ²μ΄μμ.
λ¬Όλ‘ μΈμ€ν΄μ€ λ³μλ₯Ό μ¬μ©νμ§ μλλ€κ³ ν΄μ λ°λμ ν΄λμ€ λ©μλλ‘ μ μν΄μΌ νλ κ²μ μλμμ!
π‘ μ°Έκ³ :
ν΄λμ€ μμμ μ μΈλ λ³μλ₯Ό λ©€λ²λ³μ(νλ)λΌκ³ νλ€. λ©€λ² λ³μ μ€ staticμ΄ λΆμ κ²μ ν΄λμ€ λ³μ(static λ³μ), staticμ΄ λΆμ§ μμ κ²μ μΈμ€ν΄μ€ λ³μλΌ νλ€. λ©€λ²λ³μλ μΈμ€ν΄μ€ λ³μμ staticλ³μλ₯Ό λͺ¨λ ν©μ³μ λΆλ₯΄λ μ©μ΄
μ κ·ΈλΌ staticμ λν΄μ μ’ λ μμλ³ΌκΉμ?
- ν΄λμ€ μ€κ³ μ λ©€λ²λ³μ μ€ λͺ¨λ μΈμ€ν΄μ€μ 곡ν΅μΌλ‘ μ¬μ©λλ κ²μ staticμ λΆμΈλ€.
- μμ±λ κ° μΈμ€ν΄μ€λ μλ‘ λ 립μ μ΄κΈ° λλ¬Έμ κ° μΈμ€ν΄μ€ λ³μλ μλ‘ λ€λ₯Έ κ°μ μ μ§. νμ§λ§, λͺ¨λ μΈμ€ν΄μ€μμ κ°μ κ°μ΄ μ μ§λμ΄μΌ νλ λ³μλ staticμ λΆμ¬μ ν΄λμ€ λ³μλ‘ μ μν΄μΌ νλ€.
- μ΄ λΆλΆμ Springμμ μ±κΈν€ ν¨ν΄μ ꡬνν λ μμ μλ° μ½λλ‘ κ΅¬νν λ μ¬μ©ν μ μλ€.
- ν΄λμ€ λ³μ (staticλ³μ)λ μΈμ€ν΄μ€λ₯Ό μμ±νμ§ μμλ μ¬μ© κ°λ₯
- staticμ΄ λΆμ λ³μ (ν΄λμ€ λ³μ)λ ν΄λμ€κ° Memoryμ μ¬λΌκ° λ μ΄λ―Έ μλμ μΌλ‘ μμ±λλ€.
- ν΄λμ€ λ©μλ(static Method)λ μΈμ€ν΄μ€ λ³μλ₯Ό μ¬μ©ν μ μμ
- μΈμ€ν΄μ€ λ³μλ μΈμ€ν΄μ€κ° λ°λμ μ‘΄μ¬ν΄μΌλ§ μ¬μ©ν μ μλλ°, ν΄λμ€ λ©μλ(staticμ΄ λΆμ Method)λ μΈμ€ν΄μ€ μμ± μμ΄ νΈμΆ κ°λ₯νκΈ° λλ¬Έμ ν΄λμ€ λ©μλκ° νΈμΆλμμ λ, μΈμ€ν΄μ€κ° μ‘΄μ¬νμ§ μμ μλ μλ€. κ·Έλμ μΈμ€ν΄μ€ λ³μμ μ¬μ©μ κΈμ§
-
- μΈμ€ν΄μ€ λ³μλ μΈμ€ν΄μ€ λ©μλμμ staticμ΄ λΆμ λ©€λ²λ€μ μ¬μ©νλ κ²μ κ°λ₯. μΈμ€ν΄μ€ λ³μκ° μ‘΄μ¬νλ€λ κ²μ static λ³μκ° μ΄λ―Έ Memoryμ μ‘΄μ¬νλ€λ κ²μ μλ―ΈνκΈ° λλ¬Έ
- λ©μλ λ΄μ μΈμ€ν΄μ€ λ³μλ₯Ό μ¬μ©νμ§ μλλ€λ©΄, staticμ λΆμ΄λ κ²μ΄ μ’μ μλ μλ€.
- λ©μλμ μμ λ΄μ© μ€ μΈμ€ν΄μ€ λ³μλ₯Ό νμλ‘ νλ€λ©΄ staticμ λΆμΌ μ μμ§λ§, μΈμ€ν΄μ€ λ³μλ₯Ό νμλ‘ νμ§ μλλ€λ©΄ staticμ λΆμ΄λκ² μ’λ€. μλνλ©΄ λ©μλ νΈμΆ μκ°μ΄ 짧μμ§κΈ° λλ¬Έμ μ±λ₯ ν₯μ ν¨κ³Όλ₯Ό λ릴 μ μμΌλ©°, staticμ λΆμ΄μ§ μμ λ©μλ(μΈμ€ν΄μ€ λ©μλ)λ μ€ν μ νΈμΆ λμ΄μΌν λ©μλλ₯Ό μ°Ύλ κ³Όμ μ΄ μΆκ°μ μΌλ‘ νμνλ€.
-> ν΄λμ€μ λ©€λ²λ³μ μ€ λͺ¨λ μΈμ€ν΄μ€μ 곡ν΅λ κ°μ μ μ§ν΄μΌ νλ κ²μ΄ μμ΄μΌ νλ€λ©΄ staticμ λΆμΈλ€.
-> μμ±ν λ©μλ μ€ μΈμ€ν΄μ€ λ³μλ μΈμ€ν΄μ€ λ©μλλ₯Ό μ¬μ©νμ§ μλ λ©μλμ staticμ λΆμ΄λ©΄ μ’λ€.
π‘μ°Έκ³ :
random()κ³Ό κ°μ Math Classμ Methodλ λͺ¨λ Class Method.
Math Classμλ μΈμ€ν΄μ€ λ³μκ° νλλ μκ³ , μμ μ μννλλ°, νμν κ°λ€μ λͺ¨λ 맀κ°λ³μλ‘ λ°μμ μ²λ¦¬.
μ£Όλνλμ κΈμ΄ λ§μμ λμ ¨λμ? ꡬλ κ³Ό 곡κ°! κ·Έλ¦¬κ³ , λκΈ κ·Έλ¦¬κ³ λ°©λͺ λ‘μ μ£Όλνλμκ² λ§μ νμ΄ λ©λλ€
'κ°λ μ 리 μμ μ€ > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA] getDeclaredFields νμ©νμ¬ VO κ°μ²΄μ νλ²μ μ΄μ©νκΈ° (0) | 2022.03.11 |
---|---|
[Java] λ€νμ±(polymorphism) (0) | 2021.09.18 |
[JAVA] Optional<T> (0) | 2021.06.23 |
[Java] Wrapper Class (0) | 2021.06.22 |
[JAVA] ν¨μν μΈν°νμ΄μ€ (0) | 2021.06.21 |