[JAVA] 상속

김규리·2026년 9월 9일

상속이란?

상속(Inheritance)은 기존 클래스의 필드와 메서드를 물려받아 새로운 클래스를 만드는 것이다.

기존 클래스의 기능을 그대로 재사용할 수 있기 때문에 코드의 중복을 줄이고 유지보수를 쉽게 할 수 있다.

상속에서 물려받는 것

  • 필드(Field) → 클래스의 특성이나 상태를 나타냄
  • 메서드(Method) → 클래스의 동작이나 기능을 나타냄

즉,

기존 클래스의 필드와 메서드를 물려받아 새로운 클래스를 만드는 것

이라고 이해하면 된다.


부모 클래스와 자식 클래스

상속 관계에서는 두 클래스를 다음과 같이 부른다.

  • 부모 클래스(Super Class) → 상속을 해주는 클래스
  • 자식 클래스(Sub Class) → 부모 클래스를 상속받는 클래스

Java에서는 extends 키워드를 사용하여 상속받을 수 있다.

class Animal {
    String name;

    void eat() {
        System.out.println("먹습니다.");
    }
}

class Dog extends Animal {
    void bark() {
        System.out.println("멍멍!");
    }
}

Dog 클래스는 Animal 클래스를 상속받았기 때문에
Animal의 name 필드와 eat() 메서드를 사용할 수 있다.

또한 Dog만의 새로운 메서드인 bark()도 추가할 수 있다.


상속의 특징

상속을 사용하면 부모 클래스의 기능을 재사용할 수 있다.

class Animal {
    void eat() {
        System.out.println("먹습니다.");
    }
}

class Dog extends Animal {
    void bark() {
        System.out.println("멍멍!");
    }
}
Dog dog = new Dog();

dog.eat();   // 부모 클래스에서 상속받은 메서드
dog.bark();  // 자식 클래스에서 추가한 메서드

실행 결과:

먹습니다.
멍멍!

이처럼 자식 클래스는 부모 클래스의 기능을 사용할 수 있고, 필요한 기능을 추가할 수도 있다.


상속을 사용하는 이유

1. 코드 재사용

이미 만들어진 부모 클래스의 필드와 메서드를 다시 작성하지 않고 사용할 수 있다.

2. 코드 중복 감소

여러 클래스에서 공통적으로 사용하는 기능을 부모 클래스에 작성하면 중복 코드를 줄일 수 있다.

3. 유지보수 편리

공통 기능을 부모 클래스에서 관리하기 때문에 수정이 필요한 경우 부모 클래스의 코드를 수정하면 된다.

0개의 댓글