객체 간의 상속은 어떤 의미일까?
상속?
기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다.
클래스 상속
- 새로운 클래스를 정의할 때 이미 구현된 클래스를 상속(Inheritance)받아서 속성이나 기능을 확장하여 클래스를 구현함
- 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 기존 클래스를 상속함

- 상속하는 클래스 : 상위 클래스, parent calss, super class
- 상속받는 클래스 : 하위 클래스, child class, subclass
상속을 구현하는 경우
- 상위 클래스는 하위 클래스 보다 더 일반적인 개념과 기능을 가짐
- 하위 클래스는 상위 클래스 보다 더 구체적인 개념과 기능을 가짐
- 하위 클래스가 상위 클래스의 속성과 기능을 확장(extends)한다는 의미
자바에서 상속을 구현하는 방법은 간단하다. 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends'와 함께 써 주면 된다.


예를 들어 새로 작성하려는 클래스의 이름이 C이고 상속받고자 하는 기존 클래스의 이름이 A라면 다음과 같이 하면 된다.
class A { }
class C extends A {
// .....
}
이 두 클래스는 서로 상속 관계에 있다고 하며, 상속해주는 클래스를 '조상 클래스'라 하고 상속 받는 클래스를 '자손 클래스'라고 한다.
예를 들어 Parent 클래스에 age라는 정수형 변수를 멤버변수로 추가하면, 자손 클래스는 조상의 멤버를 모두 상속 받기 때문에 Child 클래스는 자동으로 age라는 멤버변수가 추가된 것과 같은 효과를 얻는다.


반대로 자손인 Child클래스에 새로운 멤버로 play( ) 메서드를 추가하면


Child클래스에 새로운 코드가 추가되어도 조상인 Parent클래스에는 아무런 영향도 받지 않는다.
조상클래스가 변경되면 자손 클래스는 자동적으로 영향을 받게되지만, 자손 클래스가 변경되는것은 조상 클래스에 아무런 영향을 주지 못한다.
자손 클래스는 조상 클래스의 모든 멤버를 상속받으므로 항상 조상 클래스보다 같거나 많은 멤버를 갖는다.
- 자손 클래스는 조상클래스의 모든 멤버를 상속 받는다. (단, 생성자와 초기화 블럭은 상속되지 않는다.)
- 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.
'Java > Java 이론' 카테고리의 다른 글
[JAVA] switch 문 (0) | 2023.08.09 |
---|---|
[JAVA] 상속 (2) (0) | 2023.08.08 |
[JAVA] 배열 (0) | 2023.08.04 |
[JAVA] singleton 패턴 (0) | 2023.08.03 |
[JAVA] static 변수 (0) | 2023.08.03 |