상속(inheritance),Object 클래스

상속(Inheritance)

부모 클래스가 가진 멤버 변수, 멤버 메서드를 자식 클래스에 넘겨주는 행동을 의미
부모 클래스에 한번 선언 후 계속 재사용하기 위해 사용
비용 감소, 코드 재사용 증가함
부모와 자식 구분은 앞의 글에서 말한대로

상속 기능 사용하는 법

// 부모 클래스
class Parent{
    public int num;
    public void pTest{
        System.out.println("부모테스트");
    }
}
//자식클래스
class Child extends Parent{
    public int num2;
    public void cTest{
        System.out.println("자식테스트");
    }
}

class 자식클래스명 extends 부모클래스명{

}
을 통해 상속을 받을 수 있다 .

자식은 부모 클래스에서 선언된 변수들을 사용할 수 있으나 부모는 자식 클래스에 선언된 변수를 사용 할 수 없다. 즉 일방적으로 주는 역할이다.

단, 자바 기준으로 하나의 자식이 2개 이상의 상속을 동시에 받는건 불가능합니다.(C++ 같은 다른 언어에선 가능합니다. )

Object 클래스

(상속 따로 Object 따로 작성하려 했으나 양이 너무 적은 것 같아서 추가하였다..)

  • 개발자가 만든 클래스는 모두 Object 클래스를 상속 받는다 . (모든 클래스의 부모 클래스가 된다.)
  • 모든 클래스의 근원 클래스이다
  • 루트 클래스 (Root Class)
  • Object 클래스는 멤버를 9개 구현하며 상속에 의해 모든 클래스 파생이 된다.
  • 모든 클래스는 9개의 메서드를 가지고 있다.
class Test{

}

위의 코드에 Object 내용을 작성하지 않았지만 자동으로 Test 옆엔 extends Object가 붙는다.
(모든 클래스의 부모 클래스이므로)

Object 클래스 내에 존재하는 equals , hashCode 등등 기능은 추후 설명 예정 .

'java' 카테고리의 다른 글

자바의 static  (1) 2024.02.20
자바의 생성자(Constructor)  (3) 2024.02.20
자바의 접근 제어자 (Access)  (1) 2024.02.19
자바의 Class  (1) 2024.02.14
자바의 기본 성질  (1) 2024.02.14