티스토리 뷰

study/Java

상속 (inheritance)

xoxowo 2022. 11. 16. 23:33

상속 (inheritance)

기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것. 

상속을 통해서 코드의 재사용성을 높이고, 코드의 중복을 제거하여 프로그램의 생산성과 유지 보수에 크게 기여한다.

 

 

상속 구현하는 법

조상클래스와 자식 클래스 사이에 'extends'를 넣어주면되는데, 위치가 중요하다.

→ 새로 작성할 클래스 이름(Child) extends 상속 받을 클래스 이름 (Parent)

class Parent {}
class Child extends Parent {}

자손 클래스(Child)는 조상 클래스(Parent)의 모든 멤버를 상속받기 때문에 Child 클래스는 Parent클래스의 멤버들을 포함한다고 할 수 있다. 단 자손 클래스가 변경되는 것은 조상 클래스에 아무런 영향을 주지 못한다.

 

정리하면

1. 생성자와 초기화 블럭은 상속되지 않고, 멤버만 상속된다. 

2. 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.

 

 

동시 상속

여러 새로운 클래스가 공통조상인 클래스를 동시에 상속할 수 있다. 단 아래와 같이 상속받는 새 클래스들은 서로 관계가 없는 점을 명심해야한다.

class Parent {}
class Child1 extends Parent {}
class Child2 extends Parent {}
class GrandChild extends Child1 {}  // 간접 상속 관계

→ Child1을 상속받는 GrandChild 처럼 Parent를 간접적인 상속관계에 있다면 간접 조상이 되기 때문에 영향을 받는다.

 

class Parent {
	int age;
}

class Child extends Parent {
	void play() {
    	System.out.printin("happy");
    }
}

'study > Java' 카테고리의 다른 글

제어자 (modifier)  (0) 2022.12.20
오버라이딩 (overriding)  (0) 2022.12.17
생성자 (constructor)  (0) 2022.11.10
오버 로딩 (overloading)  (0) 2022.11.08
기본형 매개변수와 참조형 매개변수  (0) 2022.10.14
댓글