κ΅λΉμ§μ D+18
- ν΄λμ€ κ΅μ¬μ 리 -
κ°μ²΄
κ°μ²΄λ?
μλ°λ λνμ μΈ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ° (OOP: Object Oriented Programming)μΌλ‘ νμ€μΈκ³ μλ κ²μ€μ νλ‘κ·Έλ¨μ μμ νμν μμ±λ€μ λ½μλ΄μ΄ μ»΄ν¨ν μμ€ν μΌλ‘ μ¬κ΅¬μ±ν κ²μ΄λ€.
κ°μ²΄λ νλ(field)μ λ©μλ(method)λ‘ κ΅¬μ±λμ΄ μλ€.
κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ νΉμ§
1οΈβ£ μΆμν
- μ¬μ©μμ μꡬμ¬ν, μ€κ³μ¬νμ μꡬμ¬νμ μν΄ λ¬΄μμ΄ μ€μν κ²μΈμ§λ₯Ό μΈμ§νκ³ λ½μλ΄λ κ²
2οΈβ£ μΊ‘μν
- μΆμνλ₯Ό ν΅ν΄ μ»μ΄λΈ μμ±λ€μ λ¬Άλκ²
3οΈβ£ λ€νμ±
- κ°μ λͺ¨μμ ν¨μκ° μν©μ λ°λΌ λ€λ₯΄κ² λμνλ κ²
- μ€λ²λ‘λ© : ν¨μμ μ΄λ¦μ κ°μΌλ 맀κ°λ³μμ κ°μλ, νμ μ ν΅ν΄μ λ€λ₯Έ ν¨μλ‘ μ μνλ κ²
- κ³Όλν μ€λ²λ‘λ©μ 볡μ‘λλ₯Ό μ¬λ¦Ό
- μ¬λ¬κ°μ μ€λ²λ‘λ© μ νΈλ€μ νλμ 컨μ μ μ μ§ν΄μΌ νλ€.
4οΈβ£ μμ
- λΆλͺ¨ ν΄λμ€μμ μλ‘μ΄ κΈ°λ₯μ μΆκ°ν΄ μμ ν΄λμ€λ₯Ό λ§λ€μ΄ μ¬μ©νλ κΈ°λ²
- μμ ν΄λμ€μμ λ°λ‘ μ μνμ§ μμλ λΆλͺ¨ ν΄λμ€μμ μ μλ κ²λ€μ μλμΌλ‘ μμλ°μ ꡬνν μ μλ€.
5οΈβ£ μ 보μλ
- μΊ‘μν μ 보λ€μ λ°μμ μ κ·Ό λΆκ°λ₯νλλ‘ νλ κ²
ν΄λμ€ κ΅¬μ±λ©€λ²
• νλ
- κ°μ²΄μ κ³ μ λ°μ΄ν°, λΆν κ°μ²΄, μνμ 보λ₯Ό μ μ₯νλ κ³³
- λ³μμ λΉμ·νμ§λ§ λ³μλ μμ±μμ λ©μλ λ΄μμλ§ μ¬μ©κ°λ₯νλ©° μ€νμ’ λ£μ μλμλ©Έλμ§λ§, νλλ μμ±μμ λ©μλ μ 체μμ μ¬μ©λλ©° κ°μ²΄κ° μλ©Έλμ§ μλ ν μ‘΄μ¬νλ€.
• μμ±μ
- ν΄λμ€λ‘λΆν° κ°μ²΄λ₯Ό μμ±ν λ νΈμΆλμ΄ κ°μ²΄μ μ΄κΈ°νλ₯Ό λ΄λΉνλ€.
- β κΈ°λ³Έμμ±μλ λ°λμ λ§λ€κ²
- β‘ μμ±μλ λͺ μμ μΈ μ΄κΈ°ν μ½λ©μ ν΄μ€ κ² => μ λ’°μ±μ λμ΄κΈ° μν΄
- β’ μ€λ²λ‘λ©λ μμ±μλ₯Ό λ§λ€ λ 무μ§μ±μΌλ‘ λ§λ€μ§ λ§κ³ μ μ± μ΄λ κΈ°μ€μ λ§κ² μμ±ν κ²
• λ©μλ
- κ°μ²΄ λ΄μμ λμμ ν΄λΉλλ€.
- 리ν΄κ°μ΄ μμμλ μμμλ μμΌλ©° λ€μν ννμ κ°μ 리ν΄ν μ μλ€.
μ μ λ©€λ²μ static
- staticμ μ¬μ©ν λ μμ±μμμ λ£μ§ μκ³ λ°λ‘ μ΄κΈ°νκ° κ°λ₯νλ€.
- νΉμ ν΄λμ€ λ΄μ μμ΄λ μμλ§ λμ΄μμ λΏ κ°μ²΄λ₯Ό μμ±νμ§ μμλ λ°λ‘ μ¬μ©μ΄ κ°λ₯νλ€.
final
- final νμ μ νλλ₯Ό μμ±μ νλ² μ ν ν κ°μ λ³κ²½ν μ μλ€.
ν¨ν€μ§
- ν΄λμ€λ₯Ό 체κ³μ μΌλ‘ κ΄λ¦¬νκΈ° μν ν΄λ
- λνΈ(.)λ₯Ό μ¬μ©ν΄μ μμ νμλ₯Ό ꡬλΆνλ€.
μ κ·Όμ νμ
- κ°μ packageμ μλλ μλλμ λ°λΌ μ κ·Όμ λ²μκ° λ¬λΌμ§ μ μμΌλ νλ μμλ νμ μ κ·Όμ μ΄μλ₯Ό μ¬μ©ν΄ μ£Όμ΄μΌ νλ€.
• public
- κ°μ ν¨ν€μ§ λΏλ§ μλλΌ λ€λ₯Έ ν¨ν€μ§μμλ μλ¬΄λ° μ ν μμ΄ μ¬μ©ν μ μλ€.
• protected
- κ°μ ν¨ν€μ§μ μνλ ν΄λμ€μμ μμ±μλ₯Ό νΈμΆν μ μλλ‘νλ€.
- λ€λ₯Έ ν¨ν€μ§μ μν ν΄λμ€κ° ν΄λΉ ν΄λμ€μ μμμΌ κ²½μ°λΌλ©΄ μμ±μλ₯Ό νΈμΆν μ μλ€.
• default
- μ κ·Όμ νμ μλ΅νμλ κΈ°λ³ΈμΌλ‘ μ€μ λλ μ κ·Ό μ νμλ‘ κ°μ ν¨ν€μ§μμλ μλ¬΄λ° μ ν μμ΄ μ¬μ©ν μ μμ§λ§ λ€λ₯Έ ν¨ν€μ§μμλ μ¬μ©ν μ μλλ‘ μ ννλ€.
• private
- λμΌ ν¨ν€μ§μ΄κ±΄ λ€λ₯Έ ν¨ν€μ§μ΄κ±΄ μκ΄μμ΄ μμ±μλ₯Ό νΈμΆνμ§ λͺ»νλλ‘ μ ννλ€.
Getter / Setter
- λ¨μν ν΄λμ€ μμ μλ κ°μ λ£κ³ λΉΌκΈ°μν μ©λλ‘ μ¬μ©νλ κ²μ΄ μλλΌ μ¬λ°λ₯Έ μ©λμ λ°©λ²μ λ§κ² κ°μ getνκ³ setνλ κ³Όμ μ κ±°μ³μΌ νλ€.
- 무μ§μ±μΌλ‘ getterμ setterλ₯Ό λ§λλ μΌμ μλλ‘ νλ€. (getterμ setterμ μ‘΄μ¬μ μ 무λ νμ ν νμκ° μλ€)
μ΄λ Έν μ΄μ
μ°λ¦¬λ κΈ°μ‘΄μ μ»΄νμΌλ¬κ° λ¬Έμ κ° μκΈΈλ μλ¬λ₯Ό λ΄λ³΄λ΄μ μ°λ¦¬κ° μ€λ₯λ₯Ό μ²λ¦¬νλ νμμΌλ‘ μ§νν΄μλ€.
κ·Έλ°λ° μ΄λ Έν μ΄μ κ°μ κ²½μ°λ μ°λ¦¬κ° μ»΄νμΌλ¬μκ² λ©μμ§λ₯Ό λ¨κ²¨μ μ 보λ₯Ό μλ €μ€μ λ―Έμ°μμ λ°μλ μλ¬λ₯Ό μμΈ‘ν μ μκ² λμμ μ€ μ μλ κ²μ΄λ€.
(ꡬ체μ μΈ μ΄μΌκΈ°λ λμ€μ νμ΅νλλ‘ νλ€)
'μλ > κ΅λΉμ§μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[D+19] μ€λ²λΌμ΄λ©κ³Ό μμκ΄κ³ (0) | 2022.10.19 |
---|---|
[D+18] μμ (0) | 2022.10.18 |
[D+17] Queue (0) | 2022.10.17 |
[D+17] μ½λ©λ°μ΄ (0) | 2022.10.14 |
[D+16] ꡬ쑰μ νλ‘κ·Έλλ°, κ°μ²΄μ§ν₯μ νλ‘κ·Έλλ° (0) | 2022.10.13 |
λκΈ