menuhwang

[Java] 상속 본문

자바

[Java] 상속

menuhwang 2022. 9. 26. 18:19

상속


자식클래스가 부모클래스의 필드와 메서드를 물려받아 사용하는 것

 

 

사용 이유

  1. 중복되는 코드를 줄일 수 있음.
  2. 이미 존재하는 클래스의 필드와 메서드를 재사용할 수 있음.

 

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();
	}
}
  1. B b = new B(); → B 클래스 생성자 호출
  2. B(); 내의 생략되어있는 super(); (= A클래스 기본생성자) 호출
  3. A 객체 생성.
  4. B 객체 생성.
  5. 변수 b 초기화.

 

메모리로 이해하기

1. b 변수 선언

 

2. A 객체 생성

 

3. B 객체 생성

 

4. b 변수 초기화

 

 

 

'자바' 카테고리의 다른 글

[Java] static 이란?  (0) 2022.09.30
[Java] 오버라이딩 (feat. 오버로딩)  (0) 2022.09.26
[Java] 클래스와 객체  (1) 2022.09.22
[Java] 배열  (0) 2022.09.21
[Java] 반복문 : do...while, while, for  (2) 2022.09.21
Comments