8장 상속

상속(Inheritance)

상속(Inheritance) 은 기존 클래스를 재사용하여 새로운 클래스를 만드는 기능입니다. 상속을 통해 기존 클래스의 정보를 사용할 수 있는 새로운 클래스는 자식(하위)클래스 , 기존 클래스를 부모(상위)클래스 라고 부릅니다. 상속을 통해 개발자는 확장성 있고, 재사용성이 좋은 코드를 생산할 수 있습니다.

  • 상속을 통해 부모 클래스(상위 클래스)의 필드와 메서드를 자식 클래스(하위 클래스)가 물려받습니다.

1. 기본 개념

  • 부모 클래스(Superclass): 공통적인 속성과 기능을 정의합니다.

  • 자식 클래스(Subclass): 부모의 기능을 그대로 물려받거나, 확장하거나, 수정할 수 있습니다.

예시 코드

public class Product {
    private String brand;
    private String pCode;
    ....

}


public class Tv extends Product {
    int inch;

    // 생성자
    public Tv(String brand, String pCode, String pName, int price, int inch) {
        super(brand, pCode, pName, price);  // 부모(Product) 생성자 호출
        this.inch = inch;                   // Tv 고유 필드 초기화
    }
}
  • Tv 클래스는 Product 클래스를 상속받아,

  • Productbrand, pCode, pName, price 필드를 그대로 사용합니다.

  • 추가로, Tv만의 고유 필드인 inch(인치)를 새로 정의했습니다.


2. 상속의 메모리 구조

  • 힙(Heap) 메모리 안에는 부모 클래스 부분자식 클래스 부분연결되어 존재합니다.

  • 자식 객체를 만들면, 부모 객체 필드도 함께 메모리에 올라가서 사용할 수 있습니다.

  • 부모객체는 자식객체 내부에 존재하므로, 자식 객체는 부모 메서드를 호출할 수 있습니다.


정리

항목
설명

상속(Inheritance)

기존 클래스를 재사용하여 새로운 클래스를 만드는 것

효과

코드 재사용, 유지보수성 증가

메모리 구조

부모 필드 + 자식 필드가 힙 메모리에 함께 존재


Last updated