자바
[Java] 상속
menuhwang
2022. 9. 26. 18:19
상속
자식클래스가 부모클래스의 필드와 메서드를 물려받아 사용하는 것
사용 이유
- 중복되는 코드를 줄일 수 있음.
- 이미 존재하는 클래스의 필드와 메서드를 재사용할 수 있음.
super & super()
- super : 부모 클래스로부터 상속받은 필드나 메소드를 자식 클래스에서 참조하는 데 사용하는 참조 변수.
- super() : 부모 클래스의 생성자를 호출할 때 사용.
생성자 호출 순서
A.java
public class A {
int numA = 0;
public int getNumA() {
return numA;
}
}
B.java
public class B extends A {
int numB = 0;
public int getNumB() {
return numB;
}
}
Test.java
public class Test {
public static void main(String[] args) {
B b = new B();
}
}
- B b = new B(); → B 클래스 생성자 호출
- B(); 내의 생략되어있는 super(); (= A클래스 기본생성자) 호출
- A 객체 생성.
- B 객체 생성.
- 변수 b 초기화.
메모리로 이해하기
1. b 변수 선언

2. A 객체 생성

3. B 객체 생성

4. b 변수 초기화
