π OOPμ 4λ νΉμ§
βπ» μΊ‘μν Encapsulation
- κ°μ²΄μ μμ±κ³Ό νμλ₯Ό νλλ‘ λ¬Άκ³ μ€μ ꡬν λ΄μ© μΌλΆλ₯Ό μΈλΆμ κ°μΆμ΄ μλν¨
- λ°μ΄ν° λ³΄νΈ λ° λΆνμν λ°μ΄ν° μΈλΆ λ ΈμΆ λ°©μ§
- μ 보 μλ λ° λ λ¦½μ± (λ°μ΄ν° λ³κ²½λμ΄λ ν κ°μ²΄μ μν₯ x) λ° μ μ§λ³΄μ μ©μ΄
βπ» ν¨ν€μ§ Package
- νλμ λλ ν 리μ νΉμ ν λͺ©μ μ 곡μ νλ ν΄λμ€μ μΈν°νμ΄μ€μ λ¬Άμ
- νμΌλ€μ ν΄λμ λ΄μ λλ κ²κ³Ό λΉμ·ν κ°λ
- κ³μΈ΅κ΅¬μ‘°λ₯Ό κ°μ§λ©° μ (.)μΌλ‘ ꡬλΆ
- ν¨ν€μ§κ° μλ κ²½μ° μ½λμ 첫 μ€μ λ°λμ 'package ν¨ν€μ§λͺ ' μΌλ‘ νμ
- κ°μ ν΄λμ€μ μ΄λ¦μ κ°μ§κ³ μλλΌλ λ€λ₯Έ ν¨ν€μ§μ ν¬ν¨λμ΄ μμΌλ©΄ νμ μ μΆ©λ λ°©μ§
π‘ λνμ μΈ ν¨ν€μ§
βͺοΈ java.lang
- μλ°μ κΈ°λ³Έ ν΄λμ€λ€μ λͺ¨μ λμ ν¨ν€μ§
βͺοΈ java.util
- νμ₯ ν΄λμ€λ₯Ό λ¬Άμ΄ λμ ν΄λμ€
βͺοΈ java.io / java.nio
- μλ°μ μ μΆλ ₯κ³Ό κ΄λ ¨λ ν΄λμ€λ₯Ό λ¬Άμ΄λμ ν¨ν€μ§
βπ» import λ¬Έ
import ν¨ν€μ§λͺ
.ν΄λμ€λͺ
;
or
imprt ν¨ν€μ§λͺ
.*;
- λ€λ₯Έ ν¨ν€μ§ λ΄ ν΄λμ€λ₯Ό μ¬μ©νκΈ° μν΄ μ¬μ©
- λ€λ₯Έ ν¨ν€μ§μ ν΄λμ€λ₯Ό μ¬μ©νκΈ° μν΄μλ λ§€λ² ν¨ν€μ§λͺ μ λΆμ¬μ μμ±ν΄μΌ ν¨
→ improtλ¬Έμ μ»΄νμΌλ¬μκ² μμ€νμΌμ μ¬μ©λ ν΄λμ€μ ν¨ν€μ§μ λν μ 보λ₯Ό μ 곡
π importλ₯Ό μ¬μ©νμ§ μμμ λ λ€λ₯Έ ν¨ν€μ§ ν΄λμ€ μ¬μ©νλ λ°©λ²
package μλ‘μ΄ ν¨ν€μ§;
public class ν΄λμ€λͺ
{
public static void main(String[] args) {
[λ€λ₯Έ ν¨ν€μ§].[λ€λ₯Έ ν¨ν€μ§ ν΄λμ€λͺ
] [μλ‘μ΄ κ°μ²΄λͺ
] = new [λ€λ₯Έ ν¨ν€μ§].[λ€λ₯Έ ν¨ν€μ§ ν΄λμ€λͺ
]();
}
}
π€π» μ κ·Ό μ μ΄μ
π μ μ΄μ Modifier
- μ μ΄μλ ν΄λμ€, νλ, λ©μλ, μμ±μ λ±μ λΆκ°μ μΈ μλ―Έλ₯Ό λΆμ¬νλ ν€μλ (νμ©μ¬ μν )
- μ κ·Ό μ μ΄μ : public, protected, default, private
- κΈ°ν μ μ΄μ : static, final, abstract, native, transient, synchronized λ±
→ static ?
→ final ?
→ abstract ?
π μ κ·Ό μ μ΄μ Access Modifier
- μ κ·Ό μ μ΄μλ₯Ό μ¬μ©νλ©΄ λΆνμν λ°μ΄ν° λ ΈμΆ λ°©μ§ λ° λ¬΄λΆλ³ν λ°μ΄ν° λ³κ²½ λ°©μ§\
- μ κ·Ό μ ν λ²μ λμ μμ λ°λΌ νννλ©΄, public > protected > default > private
μ κ·Όμ μ΄μ | μ κ·Ό μ ν λ²μ | ν΄λμ€ λ΄ | ν¨ν€μ§ λ΄ | λ€λ₯Έ ν¨ν€μ§μ νμ ν΄λμ€ | ν¨ν€μ§ μΈ |
private | λμΌ ν΄λμ€μμλ§ μ κ·Ό κ°λ₯ | O | X | X | X |
default | λμΌ ν¨ν€μ§ λ΄μμλ§ μ κ·Ό κ°λ₯ | O | O | X | X |
protected | λμΌ ν¨ν€μ§ + λ€λ₯Έ ν¨ν€μ§ νμ ν΄λμ€ μ κ·Ό κ°λ₯ | O | O | O | X |
public | μ κ·Ό μ ν μμ | O | O | O | O |
π€π» getter μ setter λ©μλ
- λ°μ΄ν°λ₯Ό 보νΈνκΈ° μν΄ μ¬μ©ν¨
- λ°μ΄ν°λ μΈλΆ μ κ·Όμ λ§κ³ λ©μλλ 곡κ°ν΄μ μΈλΆμμ λ©μλλ₯Ό ν΅ν΄ λ°μ΄ν°μ μ κ·Όνλλ‘ ν¨
- κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμ κ°μ²΄μ λ°μ΄ν°λ κ°μ²΄ μΈλΆμμ μ§μ μ μΌλ‘ μ κ·Όνλ κ²μ λ§μ
→ κ°μ²΄ λ°μ΄ν°λ₯Ό μΈλΆμμ μ½κ³ λ³κ²½ μ κ°μ²΄μ 무결μ±μ΄ κΉ¨μ§ μ μμ
- κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μμλ λ©μλλ₯Ό ν΅ν΄ λ°μ΄ν°λ₯Ό λ³κ²½νλ λ°©λ² μ νΈ
- μ κ·Όμ μ΄μκ° ν¬ν¨λμ΄ λ°μ΄ν° κ°μ μΆκ°νκ±°λ μμ ν λ μ€λ₯κ° λλ©΄, getterκ³Ό setter λ©μλ μ¬μ©
public static void main(String[] args) {
Car audi = new Car();
audi.setColor("Red");
System.out.println(audi.getColor());
}
π setter( ) : μΈν
- μΈμ€ν΄μ€ λ³μλ₯Ό λμ νκ±°λ μμ ν¨
- λ°μ΄ν° κ°μ μ¬μ©νκΈ° μν΄ λ³κ²½ κ°λ₯νλλ‘ μΈν ν΄μ£Όλ κ²
- λ©μλλͺ μμ setμ λΆμ¬ μ μ
π getter( ) : κ°μ Έμ΄
- μΈμ€ν΄μ€ λ³μλ₯Ό λ°ν
- νΉμ λ°μ΄ν°λ₯Ό μ½μ΄μ€λλ° μ¬μ©νλ λ©μλ
- λ³ννκ³ μ νλ κ°μ κ°κ³΅ν μ΄νμ μΈλΆλ‘ μ λ¬νλ μν
- λ©μλλͺ μμ get-μ λΆμ¬ μ μ
p.name = "ν"; → setName("ν");
p.age = 25; → setAge(25);
System.out.println(p.name + "μ λμ΄λ " + p.age);
→ System.out.println(getName() + "μ λμ΄λ" +getAge());
'Study > Java' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[TIL] μ°Έμ‘°λ³μμ μ°Έμ‘°νμ (0) | 2022.05.14 |
---|---|
[TIL] μμ (0) | 2022.05.12 |
[TIL] OOP μμ±μ (0) | 2022.05.11 |
[Java] OOP νλμ λ©μλ (0) | 2022.05.10 |
[Java] OOP ν΄λμ€μ κ°μ²΄ (0) | 2022.05.10 |