π» κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° κΈ°μ΄
βπ» μμ±μ Constructor
- κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμ κ°μ²΄λ₯Ό μ΄κΈ°ννκΈ° μν΄ μ¬μ©νλ μ μ΄μ
- κ°μ²΄λ₯Ό μμ±νλ μν μ νλ ν΄λμ€μ ꡬμ±μμ
- μΈμ€ν΄μ€κ° μμ±λ λ νΈμΆλλ μΈμ€ν΄μ€ μ΄κΈ°ν λ©μλ
- new ν€μλλ₯Ό μ¬μ©νμ¬ κ°μ²΄λ₯Ό μμ±ν λ νΈμΆλλ κ²
- μΈμ€ν΄μ€ μμ±μ λ΄λΉνλ κ²μ new ν€μλ
μμ±μλ μΈμ€ν΄μ€ λ³μλ€μ μ΄κΈ°ννλλ° μ¬μ©νλ λ©μλ
ν΄λμ€λͺ
(λ§€κ°λ³μ) {
...
}
πͺ΄ μμ±μμ νλ¦
- ν΄λμ€λ₯Ό κ°μ§κ³ κ°μ²΄λ₯Ό μμ±νλ©΄ ν΄λΉ κ°μ²΄λ λ©λͺ¨λ¦¬μ μ¦μ μμ±λ¨
→ μ΄λ κ² μμ±λ κ°μ²΄λ λͺ¨λ μΈμ€ν΄μ€ λ³μκ° μμ§ μ΄κΈ°νλμ§ μλ μν (μ¦, 0μ΄λ null λ±μ κ°μ κ°μ§)
→ κ°μ²΄μ μμ±κ³Ό λμμ μΈμ€ν΄μ€ λ³μλ₯Ό μνλ κ°μΌλ‘ μ΄κΈ°νν μ μλ μμ±μλΌλ λ©μλ μ 곡
- μ¬μ©μκ° μνλ κ°μΌλ‘ μΈμ€ν΄μ€ λ³μλ₯Ό μ΄κΈ°ννλ €λ©΄ μΌλ°μ μΈ μ΄κΈ°νλ°©μμΌλ‘ x
→ Why? μΈμ€ν΄μ€ λ³μ μ€μλ private λ³μλ μμΌλ©° μ΄ λλ μ¬μ©μλ νλ‘κ·Έλ¨μ΄ μ§μ μ κ·Ό x
→ κ°μ²΄μ μμ±λ νλΆν° μ¬μ©λκΈ° μ κΉμ§ λ°λμ μΈμ€ν΄μ€ λ³μμ μ΄κΈ°νλ₯Ό μν΄ νΈμΆλμ΄μΌ ν¨
πͺ΄ μμ±μ νΉμ§
- λ°νκ°μ΄ μμ
- μμ±μ μ΄λ¦μ ν΄λμ€ μ΄λ¦κ³Ό λμΌνκ² μ¬μ©νκΈ°λ‘ μ½μλμ΄ μμ
- μ묡μ μΌλ‘ νΈμΆλ¨
- μΈμ€ν΄μ€ μμ±μ νΈμΆλλ, μΈμ€ν΄μ€ λ³μ μ΄κΈ°ννλ λ©μλ
- κ°μ²΄μ μνλ₯Ό μ΄κΈ°ννλλ° μ¬μ© (λ©μλλ κ°μ²΄μ λμμ 보μ¬μ£ΌκΈ° μν΄ μ¬μ©)
π± λ©μλμ μμ±μμ μ°¨μ΄
1οΈβ£ μμ±μ μ΄λ¦μ λ°λμ ν΄λμ€ μ΄λ¦κ³Ό κ°μμΌ ν¨
2οΈβ£ μμ±μλ λ¦¬ν΄ νμ μ΄ μμ
βπ» κΈ°λ³Έ μμ±μ default constructor
- λͺ¨λ ν΄λμ€λ λ°λμ νλ μ΄μμ μμ±μκ° μ‘΄μ¬ν¨
- μμ±μκ° ν΄λμ€ μμ ν¬ν¨λμ§ μμΌλ©΄ μλ° μ»΄νμΌλ¬κ° κΈ°λ³Έ μμ±μλ₯Ό μλμΌλ‘ μΆκ°ν΄ μ€
- μ»΄νμΌλ¬κ° μλμΌλ‘ μΆκ°ν΄μ£Όλ κΈ°λ³Έ μμ±μλ λ§€κ°λ³μλ, λ΄μ©λ μμ
- μμ±μκ° μ΄λ―Έ μΆκ°λμ΄ μλ κ²½μ°μλ μ΄λ―Έ μΆκ°λ μμ±μλ₯Ό κΈ°λ³ΈμΌλ‘ μ¬μ©
ν΄λμ€λͺ
() {}
βπ» λ§€κ° λ³μκ° μλ μμ±μ
- λ©μλμ²λΌ λ§€κ°λ³μλ₯Ό ν΅ν΄ νΈμΆ μμ ν΄λΉ κ°μ λ°μ μΈμ€ν΄μ€λ₯Ό μ΄κΈ°ννλλ° μ¬μ©
- κ³ μ ν νΉμ±μ κ°μ§ μΈμ€ν΄μ€λ₯Ό κ³μ λ§λ€μ΄μΌνλ κ²½μ° μΈμ€ν΄μ€λ§λ€ κ°κΈ° λ€λ₯Έ κ°μ κ°μ§κ³ μ΄κΈ°ν κ°λ₯
- μΈμ€ν΄μ€ μμ±κ³Ό λμμ μνλ κ° ν λΉ κ°λ₯
- λ§€κ°λ³μκ° μλ κ²½μ° κ·Έ κ°μμ νμ μ μλ§κ² μμ±μλ₯Ό νΈμΆ
ν΄λμ€λͺ
(λ°μ΄ν°νμ
λ³μλͺ
){}
π€π» this
- this μ°Έμ‘° λ³μλ μΈμ€ν΄μ€ μμ μ κ°λ¦¬ν€λ©° ν΄λΉ μΈμ€ν΄μ€ μ£Όμλ₯Ό κ°λ¦¬ν΄
- thisλ₯Ό ν΅ν΄μ μΈμ€ν΄μ€ μμ μ λ³μμ μ κ·Ό κ°λ₯
- μ£Όλ‘ μΈμ€ν΄μ€ νλλͺ κ³Ό μ§μλ³μ(λ§€κ°λ³μ)λ₯Ό ꡬλΆνκΈ° μν΄ μ¬μ©
- λͺ¨λ λ©μλμλ μμ μ΄ ν¬ν¨λ ν΄λμ€μ κ°μ²΄λ₯Ό κ°λ¦¬ν€λ thisλΌλ μ°Έμ‘°λ³μκ° μμ
→ μΌλ°μ μΌλ‘ μ»΄νμΌλ¬κ° this.λ₯Ό μΆκ°ν΄μ£Όμ΄ μλ΅νλ κ²½μ°κ° λ§μ
π€π» this( )
- μμ μ΄ μν ν΄λμ€μμ λ€λ₯Έ μμ±μλ₯Ό νΈμΆνλ κ²½μ°μ μ¬μ©
- μ¦, carTestμ μμ±μκ° Aμ Bκ° μμ λ, Bμμ this()λ₯Ό μ¬μ©νλ©΄ Aκ° νΈμΆλ¨
π± this()λ©μλ μ¬μ©μ μν΄μλ ?
(1) λ°λμ μμ±μ λ΄λΆμμλ§ μ¬μ© κ°λ₯
(2) λ°λμ μμ±μμ 첫 μ€μ μμΉν΄μΌ ν¨
'Study > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[TIL] μμ (0) | 2022.05.12 |
---|---|
[TIL] μΊ‘μν (0) | 2022.05.12 |
[Java] OOP νλμ λ©μλ (0) | 2022.05.10 |
[Java] OOP ν΄λμ€μ κ°μ²΄ (0) | 2022.05.10 |
[Java] 쑰건문 λ°λ³΅λ¬Έ (0) | 2022.05.07 |