π ν΄λμ€μ μ μ
ν΄λμ€λ class μμ½μ΄λ₯Ό μ¬μ©νμ¬ μ μλλ€. ν΄λμ€μ μ΄λ¦μ λλ¬Έμλ‘ μμνλ€.
μ: ν΄λμ€λ MyClassμ΄λ€.
public class MyClass {
// ν΄λμ€ λ΄μ©μ΄ μ¬κΈ°μ μ΅λλ€.
}
π κ°μ²΄(Object)
ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό κ°μ²΄λΌκ³ νλ€. ν΄λμ€λ κ°μ²΄λ₯Ό μμ±νκΈ° μν ν νλ¦Ώμ΄λ©°, κ°μ²΄λ κ·Έ ν νλ¦Ώμ κΈ°λ°μΌλ‘ λ©λͺ¨λ¦¬μ ν λΉλλ€.
μ: κ°μ²΄λ myObjectμ΄λ€.
MyClass myObject = new MyClass();
π μμ±(λ©€λ² λ³μ)
ν΄λμ€λ μμ±μ μ μν μ μλ€. μ΄λ¬ν μμ±μ ν΄λμ€μ μνλ₯Ό λνλ΄λ©°, λ©€λ² λ³μ λλ νλλΌκ³ λ νλ€.
μ: μμ±μ myVariableμ΄λ€.
public class MyClass {
// λ©€λ² λ³μ
int myVariable;
}
π λ©μλ(λ©€λ² ν¨μ)
ν΄λμ€λ λ©μλλ₯Ό κ°μ§ μ μλ€. λ©μλλ ν΄λμ€ λ΄μμ μ΄λ€ λμμ μννλ ν¨μμ΄λ©°, λ©€λ² ν¨μ λλ λ©μλλΌκ³ λ λΆλ₯Έλ€.
μ: λ©μλλ myMethodμ΄λ€.
public class MyClass {
// λ©€λ² λ³μ
int myVariable;
// λ©μλ
void myMethod() {
// λ©μλ λ΄μ©μ΄ μ¬κΈ°μ μ΅λλ€.
}
}
π μμ±μ(Constructor)
μμ±μλ κ°μ²΄κ° μμ±λ λ νΈμΆλλ νΉλ³ν μ’ λ₯μ λ©μλμ΄λ€. μ£Όλ‘ κ°μ²΄μ μ΄κΈ°νλ₯Ό μν΄ μ¬μ©λλ€.
μ: μμ±μλ public MyClass()μ΄λ€.
public class MyClass {
// μμ±μ
public MyClass() {
// μ΄κΈ°ν μ½λ
}
}
π μ κ·Ό μ μ΄μ(Access Modifiers)
μλ°μμλ ν΄λμ€, λ³μ, λ©μλ λ±μ μ κ·Όμ μ μ΄νκΈ° μν΄ μ κ·Ό μ μ΄μλ₯Ό μ¬μ©νλ€. κ°μ₯ μΌλ°μ μΌλ‘ μ¬μ©λλ κ²μ public, private, protected, κ·Έλ¦¬κ³ defaultμ΄λ€.
μ: μ κ·Ό μ μ΄μλ public, private, protected, λλ defaultμ΄λ€.
public class MyClass {
// public μ κ·Ό μ μ΄μ
public int publicVariable;
// private μ κ·Ό μ μ΄μ
private int privateVariable;
// protected μ κ·Ό μ μ΄μ
protected int protectedVariable;
// default μ κ·Ό μ μ΄μ (package-private)
int defaultVariable;
}
π μμ(Inheritance)
μλ°μμλ ν΄λμ€ κ°μ μμμ ν΅ν΄ μ½λλ₯Ό μ¬μ¬μ©ν μ μλ€. ν ν΄λμ€κ° λ€λ₯Έ ν΄λμ€μ νΉμ±μ μμλ°μ μ¬μ©ν μ μλ€. μ: μμμ ChildClass extends ParentClassμ΄λ€.
public class ChildClass extends ParentClass {
// μμ ν΄λμ€μ λ΄μ©μ΄ μ¬κΈ°μ μ΅λλ€.
}
π λ€νμ±(Polymorphism)
λ€νμ±μ νλμ μΈν°νμ΄μ€λ λ©μλκ° μ¬λ¬ κ°μ§ ννλ‘ λμν μ μμμ λνλΈλ€. λ©μλ μ€λ²λ‘λ©κ³Ό λ©μλ μ€λ²λΌμ΄λ©μ ν΅ν΄ ꡬνλλ€. μ: λ€νμ±μ λ©μλ μ€λ²λ‘λ©κ³Ό μ€λ²λΌμ΄λ©μ ν΅ν΄ λνλλ€.
'JAVA > Theory' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java] request κ°μ²΄ (0) | 2024.02.06 |
---|---|
[Java] POJO vs Non-POJO (0) | 2024.01.19 |
μλ°(Java)μμ NullPointerException (0) | 2023.12.21 |
μλ°(Java)μ μ μ΄λ¬Έ (0) | 2023.12.18 |
μλ°(Java)μ μ κ·Ό μ μ΄μ (1) | 2023.12.17 |
λκΈ