상속

이규은·2021년 10월 1일
0

상속

목록 보기
1/6

상속이란?

상속은 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미한다.
상속을 이용하면 기존에 정의되어 있는 클래스의 모든 필드와 메소드를 물려받아 새로운 클래스를 생성할 수 있다.

기존에 정의되어 있던 클래스를 부모 클래스 또는 상위 클래스, 기초 클래스 라고 한다.
그리고 상속을 통해 새롭게 작성 되는 클래스는 자식 클래스 또는 하위 클래스, 파생 클래스 라고 한다.

상속의 장점

  1. 기존에 작성된 클래스를 재활용할 수 있다.
  2. 자식 클래스 설계 시 중복되는 멤버를 미리 부모 클래스에 작성해 높으면 자식 클래스에서는 해당 클래스를 작성하지 않아도 된다.
  3. 클래스 간의 계층적 관계를 구성함으로써 다형성의 문법적 토대를 마련한다.

자식 클래스

자식 클래스는 부모 클래스의 모든 특성을 물려받아 새롭게 작성된 클래스이다.

class 자식클래스이름 extend 부모클래스이름 {

}

자식 클래스에는 무모 클래스의 필드와 메소드만이 상속되며 생성자와 초기화 블록은 상속되지 않는다.
부모 클래스의 접근 제어가 private이나 default로 설정된 멤버는 자식 클래스에서 상속 받지만 접근은 불가능하다.

class Parent {
    private int a = 10;
    public int b = 20;
}

class Child extends Parent {
    private int c = 30;
    void print() {
        //System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println("c = " + c);
    }
}

public class InheritanceStudy {
    public static void main(String[] args) {
        Child child = new Child();
        child.print();
    }
}

결과

Object 클래스

Object 클래스는 모든 클래스의 부모 클래스가 되는 클래스 이다.
자바의 모든 클래스는 별도로 extends 키워드를 사용하여 Object 클래스의 상속을 명시하지 않아도 Object 클래스의 모든 멤버를 자유롭게 사용할수 있다.

profile
안녕하세요

0개의 댓글