ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 210421_4(상속)
    JAVA(Sol)(정리대기중..언젠가) 2021. 4. 21. 12:54

    상속

     

    상위클래스의 자원(변수,메서드)을 하위클래스에서 상속받아 사용하는 것.

     

     

    ----------------------------------------개념

    class---------------- Super--->인스턴스 ==> 부모는 자식의 자원사용불가, 3개만 사용가능

     

     3개 자원

                  ↓

                상속 

    class----------------Sub --->인스턴스 ==>가용자원의 갯수는? 5개

     

    2개 자원

    ------------------------------------------표현

    자바 표현 : Sub extends Super

                extends <===확장

    ------------------------------------------실제모습

    하위클래스가 상위클래스를 포함하고있는 모습을 생각하면된다.

        Sub [   Super[3개]   + 확장2개  ]

     

    -------------------------------------------주의

                   A-----------------------조상 

                   가

     

    B                            C----------부모 : A와 BC의 관계는 상소

    가                           가

     

                   D-----------------------자식 : BC와 D의 관계는 다중상속(금지)

                   가

    자바는 모호성 발생을 피하기 위해서 다중상속을 금지한다

      참조 C++은 다중상속이 가능하다.

    package chapter12;
    
    class Chosun {
    	String name = "Chosun";
    }
    
    class Korea extends Chosun {
    	String K_name = "Korea";
    }
    
    public class Money {
    	public static void main(String[] args) {
    		Korea k = new Korea();
    
    		System.out.println(k.name); //korea의name 호출
    		System.out.println(k.K_name); // korea의 k_name호출
    
    	}
    
    }
    
    package chapter12;
    
    class Chosun2 {
    	String name = "Chosun";
    
    	public String attack() {
    		return "활";
    	}
    }
    
    class Korea2 extends Chosun2 {
    	String k_name = "Korea";
    
    	public String k_attack() {
    		return "K2 소총";
    	}
    }
    
    public class Money2 {
    
    	public static void main(String[] args) {
    		Korea2 k = new Korea2();
    
    		System.out.println(k.attack());
    		System.out.println(k.k_attack());
    
    		Chosun2 c = new Chosun2();
    
    		System.out.println(c.attack());
    //		System.out.println(c.k_name); // 부모는 자식의 자원을 쓸수없다
    
    	}
    
    }
    
Designed by Tistory.