μ μ λ©€λ² ?
ν΄λμ€μ κ³ μ λ λ©€λ²
κ°μ²΄λ₯Ό μμ±νμ§ μκ³ μ¬μ©ν μ μλ νλμ λ©μλ
1. μ μ λ©€λ² μ μΈ
μ μ νλμ μ μ λ©μλλ₯Ό μ μΈνλ λ°©λ²μ νλμ λ©μλ μ μΈ μ static ν€μλλ₯Ό λΆμ¬μ£Όλ©΄ λλ€.
public class ν΄λμ€{
static νμ
νλ [= μ΄κΈ°κ°];
static λ¦¬ν΄ νμ
λ©μλ ( 맀κ°λ³μ μ μΈ, ...){...}
μ μ νλμ λ©μλλ ν΄λμ€μ κ³ μ -> ν΄λμ€ λ³λ‘ κ΄λ¦¬ λ¨
β νλλ₯Ό μ μΈ ν λ νλ¨κΈ°μ€
κ°μ²΄λ§λ€ κ°μ§κ³ μμ΄μΌ ν λ°μ΄ν° = μΈμ€ν΄μ€ νλ ex) static double pi = 3.141592;
곡μ©μ μΈ λ°μ΄ν° = μ μ νλ ex) String color;
β λ©μλλ₯Ό μ μΈ ν λ νλ¨κΈ°μ€
μΈμ€ν΄μ€ νλλ₯Ό μ΄μ©ν΄μ μ€ν ν΄μΌ νλ©΄ = μΈμ€ν΄μ€ λ©μλ
μΈμ€ν΄μ€ νλλ₯Ό μ¬μ©νμ§ μλλ€λ©΄ μ μ λ©μλ
2. μ μ λ©€λ² μ¬μ©
ν΄λμ€κ° λ©λͺ¨λ¦¬λ‘ λ‘λ©λλ©΄ μ μ λ©€λ²λ₯Ό λ°λ‘ μ¬μ©ν μ μλλ°, ν΄λμ€ μ΄λ¦κ³Ό ν¨κ» .(λνΈ μ°μ°μ)λ‘ μ κ·Ό
class.field;
class.method(values, ...);
μ μ νλμ μ μ λ©μλλ μμΉμ μΌλ‘λ ν΄λμ€ μ΄λ¦μΌλ‘ μ κ·Ό but, κ°μ²΄ μ°Έμ‘° λ³μλ‘λ μ κ·Ό κ°λ₯(κ²½κ³ νμ λΈ)
3. μ μ μ΄κΈ°ν λΈλ‘
μ μ νλλ νλ μ μΈκ³Ό λμμ μ΄κΈ°κ°μ μ£Όλ κ²μ΄ 보ν΅
β» κ³μ°μ΄ νμν μ΄κΈ°ν μμ μΌ κ²½μ° μ μ λΈλ‘(static block)μ μ¬μ©
static{
...
}
* μ μ λΈλ‘μ ν΄λμ€κ° λ©λͺ¨λ¦¬λ‘ λ‘λ©λ λ μλμ μΌλ‘ μ€ν(ν ν΄λμ€ λ΄μ μ¬λ¬κ°κ° μ μΈλμ΄λ μκ΄x)
infoλ μ΄κΈ°ν x staticλΈλ‘μ μ΄μ©ν΄μ μ΄κΈ°κ° μ€μ
4. μ μ λ©μλμ λΈλ‘ μ μΈ μ μ£Όμν μ
κ°μ²΄κ° μμ΄λ μ€νλκΈ° λλ¬Έμ
β λ΄λΆμ μΈμ€ν΄μ€ νλλ μΈμ€ν΄μ€ λ©μλλ₯Ό μ¬μ©ν μ x
β this μ¬μ© x
μΈμ€ν΄μ€ λ©€λ²λ₯Ό μ¬μ©νκ³ μΆμΌλ©΄ κ°μ²΄λ₯Ό λ¨Όμ μμ± ν λ€ μ°Έμ‘° λ³μλ‘ μ κ·Όν΄μΌ ν¨.
5. μ±κΈν€(singleton)
singleton ?
λ¨ νλμ κ°μ²΄λ§ μμ±
β μ±κΈν€μ λ§λλ €λ©΄ μΈλΆμμ new μ°μ°μλ‘ νΈμΆ(=κ°μ²΄ μμ±) νλκ±Έ λ§μμ€μΌ ν¨ => private μ κ·Ό μ νμ
β μμ μ νμ μΈ μ μ νλλ₯Ό νλ μ μΈνκ³ μμ μ κ°μ²΄λ₯Ό μμ±ν΄ μ΄κΈ°ν ν¨
β μ μ νλλ private μ κ·Όμ νμλ₯Ό λΆμ¬ μΈλΆμμ νλκ°μ λ³κ²½νμ§ λͺ»νλλ‘ ν¨
public class ν΄λμ€ {
//μ μ νλ
private static ν΄λμ€ singleton = new ν΄λμ€();
//μμ±μ
private ν΄λμ€() {}
//μ μ λ©μλ
static ν΄λμ€ getInstance() {
return singleton;
}
}
* μΈλΆμμ κ°μ²΄λ₯Ό μ»λ μ μΌν λ°©λ² = getInstance() λ©μλ νΈμΆ
6. final νλμ μμ
final ?
final νλλ μ΄κΈ°κ°μ΄ μ§μ λλ©΄ μ΅μ’ μ μΈ κ°μ΄ λμ΄μ λμ΄μ λ³κ²½ν μ x
final νλμ μ΄κΈ°κ° μ€μ λ°©λ²
β νλ μ μΈ μ μ€μ
β μμ±μμμ μ£Όλ λ°©λ²
μμ(static final) ?
λΆλ³μ κ° ( π, μ§κ΅¬μ λ¬΄κ² λ±)
μμλ static μ΄μ final μ΄μ¬μΌ ν¨
μμ μ΄λ¦μ λͺ¨λ λλ¬Έμλ‘ μμ±νλ κ²μ΄ κ΄λ‘
'STUDY > JAVA' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
JAVA - μ κ·Όμ νμ ( public, protected, default, private) (0) | 2022.04.18 |
---|---|
JAVA - ν¨ν€μ§, importλ¬Έ (0) | 2022.04.18 |
JAVA - λ©μλ (0) | 2022.04.18 |
JAVA - κ°μ²΄μ§ν₯νλ‘κ·Έλλ°(νλ, μμ±μ) (0) | 2022.04.13 |
JAVA - μ΄κ±°νμ (0) | 2022.04.13 |