자바에서 슈퍼의 힘

5527 단어 java

자바



Java는 가능한 한 적은 구현 종속성을 갖도록 설계된 높은 수준의 클래스 기반 객체 지향 프로그래밍 언어입니다.

계승



객체 지향 프로그래밍에서 상속은 유사한 구현을 유지하면서 다른 객체 또는 클래스를 기반으로 하는 객체 또는 클래스의 메커니즘입니다. 또한 슈퍼 클래스 또는 기본 클래스와 같은 기존 클래스에서 새 클래스를 파생하여 클래스 계층 구조로 형성하는 것으로 정의됩니다.

서브클래스와 슈퍼클래스



Java에서는 한 클래스에서 다른 클래스로 속성과 메서드를 상속할 수 있습니다. "상속 개념"을 두 가지 범주로 그룹화합니다.
  • 하위 클래스(자식) - 다른 클래스에서 상속하는 클래스
  • 슈퍼클래스(부모) - 상속되는 클래스
    클래스에서 상속하려면 extends 키워드를 사용하십시오.

  • 슈퍼 키워드



    super 키워드는 superclass (부모) 개체를 참조합니다. superclass 메서드를 호출하고 superclass 생성자에 액세스하는 데 사용됩니다. super 키워드의 가장 일반적인 용도는 동일한 이름의 메서드가 있는 superclassessubclasses 사이의 혼동을 없애기 위한 것입니다.

    용도



    멤버A가 있는 클래스int top가 있다고 가정합니다. B를 상속하는 다른 클래스A와 멤버top가 있습니다. 이제 B의 인스턴스를 시작하고 top 인스턴스에서 AB 멤버를 가져오려는 경우. super 없이 이것을 얻을 수 있다고 생각하십니까?

    보자:

    class A{
        int a;
        int top=90;
        A(int a){
            this.a = a;
        }
    }
    class B extends A{
        int b;
        int top = 40;
        B(int a, int b){
            super(a);
            this.b = b;
        }
    }
    

    AB 클래스가 있습니다. 객체를 생성해 봅시다.

    B obj = new B(4,5);
    
    obj.a // 4
    obj.b // 5
    obj.top // 40
    


    이제 topA 멤버를 얻으려고 합니다. 이를 위해서는 super 키워드를 사용해야 합니다.

    Modify B as needed



    class B extends A{
        int b;
        int top = 40;
        B(int a, int b){
            super(a);
            this.b = b;
        }
    
        int getATop() {
            return super.top;
        }
    }
    


    회원에게 전화:

    B obj = new B(4,5);
    obj.top // 40
    obj.getATop() // 90
    


    메모


  • super 계층 구조의 모든 수준에서 구성원에 액세스할 수 있습니다.
  • 계층 구조 내부에서 클래스에 의해 재정의된 멤버 또는 메서드가 있는 경우 super를 호출하면 클래스에서 한 수준 위의 멤버 또는 메서드를 가져옵니다.

  • 고마워

    좋은 웹페이지 즐겨찾기