๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“œ ์ž๋ฐ” Java

์ƒ์†๊ณผ ๋ถ€๋ชจํด๋ž˜์Šค ์ž์‹ํด๋ž˜์Šค

by Meteora_ 2021. 2. 1.
728x90

์ƒ์† (Inheritance)

1. 5000์ค„์งœ๋ฆฌ A๋ผ๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค.

 

2. ๋‚˜๋Š” A๋ผ๋Š” ์ฝ”๋“œ์— 3์ค„์ •๋„ ๋” ์ถ”๊ฐ€/๋ณ€๊ฒฝํ•ด์„œ B๋ผ๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผํ•˜๋Š”๋ฐ....

 

3. ๋˜‘๊ฐ™์€ 5000์ค„์งœ๋ฆฌ ์ฝ”๋“œ๋ฅผ ๋˜ ๋ณต๋ถ™ํ•ด์•ผํ•˜๋‹ˆ ๋„ˆ๋ฌด ๊ธธ๊ณ  ๋‚ญ๋น„๋‹ค.

 

4.  ์ƒ์†์„ ์‚ฌ์šฉํ•˜๋ฉด 5000์ค„ ์งœ๋ฆฌ ์ค‘๋ณต๋˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ณต๋ถ™์„ ์•ˆํ•ด๋„ ๋˜๊ณ  ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.

 

ํ•œ์ค„๋กœ ์ •๋ฆฌํ•˜์ž๋ฉด ๋ฉ”์ธ๊ฐ์ฒด์˜ ํ•„๋“œ(๋ณ€์ˆ˜)์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ๋‹ค๋ฅธ ๊ฐ์ฒด๋„ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š”๊ฒƒ์ด ์ƒ์†์ด๋‹ค.

 

์ฝ”๋“œ์ค‘๋ณต์„ ๋ง‰์„์ˆ˜์žˆ์œผ๋ฉฐ ํ™•์žฅ์„ฑ์ด ์ข‹์•„์ง€๊ฒŒ ๋œ๋‹ค.

 

 

 

์—ฐ์Šต ์˜ˆ๋ฌธ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package main;
 import cls.ChildClass;
import cls.ParentClass;
 
public class MainClass {
    public static void main(String[] args) {
       
        ChildClass cc =new ChildClass();
    
        
        cc.method();
        
        
        ParentClass pc =new ChildClass();
    
        
        pc.method();
        
 
        ChildClass c = (ChildClass)pc;
        c.func();
    }
}
 
 
cs

 

๋ถ€๋ชจํด๋ž˜์Šค ParentClass

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package cls;
 
public class ParentClass {
 
    
    
    private String name; // ๋ฉค๋ฒ„๋ณ€์ˆ˜๋Š” ๊ฑฐ์˜ private
    protected int number;
    
    
    public ParentClass() {
        System.out.println("ParentClass ParentClass()");
        
    }
    
public void method() {// ๋ฉ”์†Œ๋“œ๋Š” public์œผ๋กœ ํ•ด๋†“๊ธฐ
        System.out.println("ParentClass method");
    }
    
}
 
 
 
cs

 

์ž์‹ํด๋ž˜์Šค ChildClass

 

extends๋ฅผ ํ™œ์šฉํ•ด ๋ถ€๋ชจํด๋ž˜์Šค์˜ ํ•„๋“œ(๊ฐ์ฒด)์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ๋ฐ›์•„์˜จ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package cls;
 
public class ChildClass extends ParentClass {
    
    
    public ChildClass(){
        System.out.println("ChildClass  ChildClass ()");
        
    }
    
    public void func() {
        number = 12;
        
        //super.method();
        //this.method();
        //๋ถ€๋ชจ๋ž‘ ์ž์‹ํ•จ์ˆ˜ ๋‘˜๋‹ค ํ•˜๋ ค๋ฉด ์ด๋ ‡๊ฒŒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.
        
    }
    
    //over ride ->์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค์—์„œ ๋ฉ”์†Œ๋“œ๋ฅผ ๊ณ ์ณ ๊ธฐ์ž…ํ•˜๋Š”๊ฒƒ
    
    
    public void method() {// ๋ฉ”์†Œ๋“œ๋Š” public์œผ๋กœ ํ•ด๋†“๊ธฐ
        super.method();//super๋ฅผ ํ†ตํ•ด์„œ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.
        //System.out.println("Child method ๊ณ ์ณค๋‹ค");
    }
}
 
 
cs

๋Œ“๊ธ€