01. μμ(Inheritance)μ κ°λ
κΈ°μ‘΄μ μ μλ ν΄λμ€μ λ©μλμ νλλ₯Ό μΆκ°νμ¬ μλ‘μ΄ ν΄λμ€λ₯Ό λ§λλ κ²
μμμ ν΅ν΄ μ°κ΄λ ν΄λμ€μ λν 곡ν΅μ μΈ κ·μ½μ μ μνκ³ μ μ©νλ κ²μ΄ μ€μ§μ μΈ λͺ©μ
μ€λ¬΄μμλ λ΄κ° λ§λ ν΄λμ€λ₯Ό μμνλ μΌλ³΄λ€λ, μ΄λ―Έ λ§λ€μ΄μ μ 곡ν΄μ€ κ²λ€μ μμν΄μ μ²λ¦¬νλ μΌμ΄ λΉλ²νλ€κ³ νλ€.
κΈ°λ³Έμ μΌλ‘ μλ° νλ«νΌμ λͺ¨λ ν΄λμ€λ Object ν΄λμ€λ₯Ό μμλ°λλ€.
02. μνΌ ν΄λμ€μ μλΈ ν΄λμ€
1. μνΌ ν΄λμ€μ μλΈ ν΄λμ€ μ©μ΄ μ 리 βοΈ
- μνΌ ν΄λμ€(Super class)
μμμ ν΄μ£Όλ λΆλͺ¨ ν΄λμ€
κΈ°λ° ν΄λμ€(Base class)λΌκ³ λ ν¨
- μλΈ ν΄λμ€(Sub class)
μμμ λ°λ μμ ν΄λμ€
νμ ν΄λμ€(Derived class)λΌκ³ λ ν¨
2. μμ μμ
ex) μ¬λ ν΄λμ€μ νμ ν΄λμ€, κ΅μ¬ ν΄λμ€
- μ¬λ : λ, μ½, μ
- νμ : λ, μ½, μ , 곡λΆλ₯Ό νλ€.
- κ΅μ¬ : λ, μ½, μ , μμ μ νλ€.
νμκ³Ό κ΅μ¬κ° 곡ν΅μ μΌλ‘ κ°μ§κ³ μλ λ, μ½, μ μ μ¬λμ΄λΌλ μνΌ(μμ) ν΄λμ€λ₯Ό ν΅ν΄ κ°λ¨ν ꡬνν μ μλ€.
'곡λΆλ₯Ό νλ€' λ 'μμ μ νλ€' κ°μ κ°λ³ κΈ°λ₯μ μμ μ ν΄λμ€μ ꡬννλ κ²μ΄λΌκ³ ν μ μλ€.
νμ¬μ ν΄λμ€λ₯Ό μΆκ°ν΄μΌ νλ€λ©΄, μ¬λ ν΄λμ€λ₯Ό μμλ°κ³ , νμ¬μ ν΄λμ€μμ 'νμ¬ μ 무λ₯Ό νλ€.'λ κΈ°λ₯μ ꡬννλ©΄ λλ κ²! π
β‘ μμμ μ¬μ©νλ©΄ κΈ°μ‘΄ ν΄λμ€μ λ³μμ μ½λλ₯Ό μ¬μ¬μ©ν μ μμ΄ κ°λ° μκ°μ λ¨μΆν μ μλ€λ μ₯μ μ΄ μλ€.
3. μμμ κ΄κ³
Is - a κ΄κ³
A ν΄λμ€κ° B ν΄λμ€λ₯Ό μμλ°μ κ²½μ° Aλ Bμ ν¬ν¨λκΈ° λλ¬Έμ Aλ Bμ΄λ€ λΌκ³ νν κ°λ₯
νμ ν΄λμ€λ μμ ν΄λμ€μ΄λ€. ex) νμμ μ¬λμ΄λ€.
Has - a κ΄κ³
νλμ ν΄λμ€κ° λ€λ₯Έ ν΄λμ€μ λ©€λ²λ₯Ό κ°μ§κ³ μ΄μ©νλ ꡬ쑰
03 νμ ν΄λμ€
1. νμ ν΄λμ€ νΉμ§
β μλ°λ λ€μ€ μμμ μ§μX
2κ° μ΄μμ ν΄λμ€λ₯Ό λμμ μμX. ( μλ²μ§κ° λ μΌ μλ μλ€κ³ κΈ°μ΅ )
β‘ μμ ν΄λμ€(Super class) κ° κ°μ§κ³ μλ λ©μλμ νλ μμ
β’ μμ ν΄λμ€μ μμ±μ λ° μ΄κΈ°ν λΈλ‘μ μμX
β£ μμ ν΄λμ€κ° κ°μ§κ³ μλ λ©μλμ νλλ₯Ό μμ λ°μ λ, λΆλͺ¨ ν΄λμ€μ privateλ‘ μ μΈλ κ²μ μμλ μ κ·ΌX
+ νμ κ΄κ³λ μμ! νμ κ΄κ³λ λ¨μ΄λ€
2. νμ ν΄λμ€ μμ±
[μ κ·Όμ μ΄μ][κΈ°νμ μ΄μ] class νμν΄λμ€μ΄λ¦ extends μμν΄λμ€μ΄λ¦
}
[implements μΈν°νμ΄μ€λͺ
[, μΈν°νμ΄μ€λͺ
]] { // ν΄λμ€ μ μ λΆλΆ(νλμ λ©μλ μ μ)
04 μμ μ½λ μμ
μνΌ ν΄λμ€
class Demo1 {
private int a = 10; // private λ νμ ν΄λμ€λ μ κ·Ό λΆκ°
int b = 20; // λμΌν ν¨ν€μ§μμ μ κ·Ό κ°λ₯
protected int c = 30; // λμΌν ν¨ν€μ§ λ° νμν΄λμ€μμ μ κ·Ό κ°λ₯
public int d = 40; // μ΄λμμλ μ κ·Ό κ°λ₯
public void print() {
System.out.println();
}
}
μλΈ ν΄λμ€
class Test1 extends Demo1 {
int x = 100;
public void disp() {
// System.out.println(a); //μ»΄νμΌ μ€λ₯
System.out.println("μμ ν΄λμ€μμ λ¬Όλ € λ°μ νλ b :" + b + " c :" + c);
System.out.println( "x :" + x);
}
public void write() {
print(); // μμ ν΄λμ€ λ©μλ νΈμΆ
}
}
'π»Programming > βοΈJava' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA] DAOμ VO μ μμ μ¬μ©λ² (0) | 2022.07.31 |
---|---|
[JAVA] μ΄κ±°ν νμ (0) | 2022.07.27 |
[JAVA] κ°μ²΄μ§ν₯_μΈν°νμ΄μ€ (0) | 2022.07.26 |
[JAVA]κ°μ²΄μ§ν₯_μΆμ ν΄λμ€ (0) | 2022.07.26 |
[JAVA]κ°μ²΄μ§ν₯_μμκ³Ό κ΄λ ¨ν μ©μ΄(2) (0) | 2022.07.25 |