상속(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 |