상속 (Inheritance)

문상우·2023년 8월 3일
0

Java 핵심 개념

목록 보기
2/5
post-thumbnail

상속(Inheritance)이란?

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

만일,

public class Parent {
}

public class Child extends Parent {
}

위처럼 A 클래스를 상속한 B 클래스가 있다고 하면, 기존에 정의되어 있던 A 클래스를 부모 클래스(Parent Class) 또는 상위 클래스(Super Class), 기초 클래스(Base Class)라고 하고, 상속을 통해 새롭게 작성되는 B 클래스를 자식 클래스(Child Class) 또는 하위 클래스(Sub Class), 파생 클래스(Derived Class)라고도 한다.


public class Parent {
    private int a = 10;
    int b = 20;
    public int c = 30;
    protected int d = 40;
}

public class Child extends Parent {
    	public void print() {
//        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
    }
}

Parent에 존재하는 필드 또는 메서드를 사용하게 된다면 조심해야 한다. private은 같은 클래스 내에서만 사용 가능하기 때문에 쓸 수 없고, default는 같은 패키지 내에 위 두 클래스가 존재한다면 모두 쓸 수 있고, protected는 같은 패키지 내 or 상속받은 부모의 필드라면 쓸 수 있다.


장점

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

[참고]

Java 중요 개념 5가지
https://bytheprogramer-fortheprogramer.tistory.com/6

상속의 개념
http://www.tcpschool.com/java/java_inheritance_concept

profile
성실하게 도전하고 기록하며 성장하자

0개의 댓글