1. 상속이란?
한 클래스의 속성과 메서드를 다른 클래스가 물려받는것
- 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것
-코드의 재사용성, 중복제거(프로그램의 생산성을 향상시킨다.)
상속은 기본적으로 A는 B이다. 라는 구조가 갖추어져야 한다. (True/False) 판별 가능한 문장으로 하여야한다.
구현 : extends(확장하다)라는 키워드를 통하여 구현가능하다.
class (자식클래스) extends (부모클래스){}
class Parent{//부모클래스(기존클래스)
}
class Child extends Parent{//자식클래스(새로운 클래스)
}
명칭
상속해주는 클래스 (Parent) : 조상, 부모, 상위, 기반, 슈퍼 클래스
상속받는 클래스 (Child) : 자손, 자식, 하위, 파생, 서브클래스
특징
부모 클래스의 속성과 메서드를 모두 상속받는다(즉, 생략하던 안하던 비슷)
자식 클래스에서는 부모클래스가 갖는 모든것은 상속받으며 자식만이 갖는 것들이 확장된다,
class Animal{
String name;//동물의 이름
}
class Dog extends Animal{
void bark(){
System.out.println("강아지가 짖습니다");
}
}
public class B_Inheritance {
public static void main(String[] args) {
Dog choco = new Dog();
choco.name = "초코";
System.out.println(choco.name);
choco.bark();
}
}
다음과 같이 클래스가 Dog인 choco가 name이라는 변수를 갖게 될 수 있는 이유가 Dog 클래스가 Animal 클래스를 상속하여 name이라는 변수를 사용할 수 있기 때문이다.
choco.name = "초코";
2. 상속에서의 생성자
상속받은 클래스에서 생성자를 호출할 수 있으며 부모에서 자식 순서로 호출할 수 있다.
자식 클래스에서 객체 생성 시, 자식 클래스는 해당 클래스의 생성자를 통해 객체를 생성한다.
>>자식 클래스의 생성자 호출 시 '항상' 부모 클래스의 생성자가 호출된다.
>>반드시 사용자 정의 부모 생성자 호출할 필요는 없다.
상속받은 자식 클래스의 경우 사용자 정의 부모 생성자의 호출이 없더라도 super(); 부모 클래스의 호출 키워드가 정의되어 있다.
자식 클래스가 상속받는 즉시 super(); 이 생성된다.



3. 상속 클래스명을 설정할 때의 주의점
https://bergerac.tistory.com/10
은 해당 링크를 참조하길 바란다. 같은 클래스명을 사용할 경우 충돌이 일어날 수 있다.
'웹개발 > JAVA' 카테고리의 다른 글
| Overloading vs Overriding (2) | 2025.02.21 |
|---|---|
| Array(JAVA에서 배열 활용법) (1) | 2025.02.20 |
| 제어자(Modifier) (1) | 2025.02.18 |
| 객체 지향 프로그래밍 (1) | 2025.02.17 |
| 제어문(JAVA로 제어문 처리하기) (1) | 2025.02.15 |