π Static μ μ μ
μ μ (Static)μ 'κ³ μ λ'μ μλ―Έν©λλ€.
μ μ λ©€λ²λ ν΄λμ€μ κ³ μ λ λ©€λ²λ‘μ κ°μ²΄λ₯Ό μμ±νμ§ μκ³ μ¬μ©ν μ μλ
νλ μ λ©μλλ₯Ό λ§ν©λλ€.
π Static μ νΉμ§
μ΄λ¬ν staticμ λ€μκ³Ό κ°μ νΉμ§μ΄ μμ΅λλ€.
- λ©λͺ¨λ¦¬μ κ³ μ μ μΌλ‘ ν λΉλ©λλ€.
- κ°μ²΄λ§λ€ κ°μ§κ³ μμ νμκ° μλ κ³΅μ© λ°μ΄ν°λΌλ©΄ μ μ νλλ‘ μ μΈνλ κ²μ΄ μ’μ΅λλ€.
- κ°μ²΄ μμ±μμ΄ μ¬μ©μ΄ κ°λ₯ν©λλ€.
- ν΄λμ€ λ‘λκ° ν΄λμ€(λ°μ΄νΈμ½λ)λ₯Ό λ‘λ©ν΄μ λ©μλ λ©λͺ¨λ¦¬ μμμ μ μ¬ν λ ν΄λμ€λ³λ‘ κ΄λ¦¬λ©λλ€.
- ν΄λμ€μ λ‘λ©μ΄ λλλ©΄ λ°λ‘ μ¬μ©ν μ μμ΅λλ€.
- static λ©μλ λ΄μμλ μΈμ€ν΄μ€ λ³μλ₯Ό μ¬μ©ν μ μμ΅λλ€.
- κ°μ²΄ μμ μ μ°Έμ‘°μΈ this ν€μλ μ¬μ©μ΄ λΆκ°ν©λλ€.
- νλ‘κ·Έλ¨μ΄ μ’
λ£λ λ ν΄μ λ©λλ€.
- staticμ΄ λΆμ λ³μλ λ©μλλ ν΄λμ€μ ν¨κ» μλμΌλ‘ λ©λͺ¨λ¦¬μ static μμμ μμ±λ©λλ€.
- main ν¨μλ₯Ό static μΌλ‘ ꡬννμ¬ λ°λ‘ μ€νν μ μλλ‘ λ§λ€μ΄ μ€λλ€.
- μΌλ°μ μΈ λ©μλλ κ°μ²΄λ₯Ό μμ±νλ©΄ λ©λͺ¨λ¦¬μ Heap μμμ μ¬λΌκ°κ³ ν΄λΉμμμ Garbage Collectorμ μν΄ λ©λͺ¨λ¦¬ κ΄λ¦¬κ° μ΄λ£¨μ΄μ§λλ€.
- staticμ static μμμ μ‘΄μ¬νλ―λ‘ λ©λͺ¨λ¦¬ κ΄λ¦¬κ° λμ§ μμ κ³Όλνκ² μ μΈνκ² λλ©΄ λ©λͺ¨λ¦¬μ κ³ΌλΆνκ° μ¬ μ μμ΅λλ€.
π μ μ λ©€λ² μ μΈ
public Class ν΄λμ€ {
// μ μ νλ
static νμ
νλ [= μ΄κΈ°κ°];
//μ μ λ©μλ
static 리ν΄νμ
λ©μλ(맀κ°λ³μμ μΈ, ...) {...}
}
μλ₯Ό λ€μ΄ Calculator λΌλ κ³μ°κΈ° ν΄λμ€μ κ²½μ°
public class Calculator {
String color; //κ³μ°κΈ°λ³λ‘ λ€μν μμ κ°μ§ μ μλ€.
static double pi = 3.14159; //κ³μ°κΈ°μμ μ¬μ©νλ piλ 곡ν΅κ°μ μ¬μ©νλ€.
void setColor(String color) {this.color = color;}
static int plus(int x, int y) {return x + y;}
static int minus(int x, int y) {return x - y;}
}
μΈμ€ν΄μ€ λ©μλλ‘ μ μΈν κ²μΈκ°, μ μ λ©μλλ‘ μ μΈν κ²μΈκ°μ κΈ°μ€
- μΈμ€ν΄μ€ νλλ₯Ό ν¬ν¨νκ³ μλ€λ©΄ μΈμ€ν΄μ€ λ©μλ
- μΈμ€ν΄μ€ νλλ₯Ό ν¬ν¨νκ³ μμ§ μλ€λ©΄ μ μ λ©μλ
- Calculator ν΄λμ€μ λ§μ , λΊμ κΈ°λ₯μ μΈμ€ν΄μ€ νλλ₯Ό μ΄μ©ν기보λ€λ μΈλΆμμ μ£Όμ΄μ§ 맀κ°κ°λ€μ κ°μ§κ³ λ§μ κ³Ό λ»΄μ κΈ°λ₯μ μννλ―λ‘ μ μ λ©μλλ‘ μ μΈνλ κ²μ΄ μ’μ΅λλ€.
π μ μ λ©€λ² μ¬μ©
ν΄λμ€ μ΄λ¦κ³Ό ν¨κ» λνΈ(.) μ°μ¬μλ‘ μ κ·Όνμ¬ μ¬μ©ν©λλ€.
μμ Calculator ν΄λμ€μ μ μ λ©€λ²λ₯Ό μ¬μ©νλ κ²½μ° μλμ κ°μ΄ μ κ·Όνμ¬ μ¬μ©ν μ μμ΅λλ€.
double result1 = 10 * 10 * Calculator.pi;
int result2 = Calculator.plus(10, 5);
int result3 = Calculator.minus(10 ,6);
μ°Έκ³ :
https://jooona.tistory.com/164,
νΌμ 곡λΆνλ μλ°
'Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Java μμμ μμΈμ²λ¦¬ (0) | 2023.06.03 |
---|---|
[Mockito & JUnit] @Mock κ³Ό @InjectMock (0) | 2023.03.28 |
[Java] μ κ·Ό μ νμλ 무μμΈκ° (0) | 2023.03.08 |
μλ°μ μλ£κ΅¬μ‘° - 컬λ μ νλ μμν¬(Collection Framework) (0) | 2023.02.05 |
[Java] extends μ implements μ μ°¨μ΄ (0) | 2023.01.10 |