0Pricing
Java Academy · 강의

extends 및 super

extends로 기반 클래스를 재사용하고 super로 부모 생성자나 메서드를 호출합니다. 예제는 작고 읽기 쉽게 유지합니다.

extends 및 super은(는) CoddyKit의 무료 Java Academy 강의입니다. 이것은 3개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Java Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Java Academy 강의에는 총 3개의 강의가 포함되어 있습니다.

상속이란 무엇인가요?

상속을 사용하면 한 클래스가 다른 클래스를 재사용하고 확장할 수 있습니다. 자식 클래스는 부모 클래스의 fields와 메서드를 물려받고 자체 기능을 추가할 수도 있습니다. 비슷한 형식 사이에서 공통 코드를 공유할 때 사용하세요.

extends 사용하기

하위 클래스를 만들려면 extends 키워드를 사용합니다. 예를 들어 클래스 Car가 Vehicle을 확장하도록 만들 수 있습니다. 하위 클래스는 부모 클래스의 특정 종류이므로 부모의 동작을 재사용할 수 있습니다.

생성자에서 super(...) 사용하기

자식 생성자 내부에서 super(...)는 부모 생성자를 호출합니다. 이렇게 하면 먼저 부모 부분이 초기화됩니다. 명시적으로 호출하지 않으면 Java는 기본적으로 부모의 인자 없는 생성자를 호출합니다(해당 생성자가 있는 경우).

super.method()

부모 버전의 메서드를 사용하려면 super.someMethod()를 작성할 수도 있습니다. 자식 클래스가 기본 로직에 작은 추가 동작을 덧붙이고 싶을 때 유용합니다.

언제 사용할까요?

명확한 ~이다 관계에 상속을 사용하세요. 예를 들어 Car는 Vehicle입니다. ~이다 관계 없이 기능만 재사용하려는 경우에는 구성을 선호하세요. 초보자라면 클래스 계층을 얕게 유지하세요.

코드: extends와 super

코드에서 Car는 Vehicle을 확장합니다. 생성자는 super를 호출해 브랜드를 설정합니다. 자식 메서드는 super.printInfo()를 호출한 다음 자체 줄을 추가합니다.

public class Main {
  // Base class with a simple constructor and method
  static class Vehicle {
    String brand;
    Vehicle(String brand) {
      this.brand = brand; // parent sets its own field
    }
    void printInfo() {
      System.out.println("Vehicle brand: " + brand);
    }
  }

  // Subclass reuses Vehicle with extends
  static class Car extends Vehicle {
    int doors;
    Car(String brand, int doors) {
      super(brand);    // call parent constructor first
      this.doors = doors;
    }
    void printInfo() {
      // Add extra info, but reuse parent behavior
      super.printInfo(); // call parent method
      System.out.println("Doors: " + doors);
    }
  }

  public static void main(String[] args) {
    // Create a Car (which is a Vehicle)
    Car c = new Car("EcoMotors", 4);
    c.printInfo(); // shows parent info then child info
  }
}

super(...) 확인

빠른 확인: 하위 클래스 생성자 내부의 super(...) 호출은 어떤 일을 하나요?

복습

복습: extends는 ~이다 관계를 설정하고, super(...)는 부모를 초기화하며, super.method()는 기본 로직을 재사용합니다. 얕고 단순한 계층 구조를 선호하세요.

자주 묻는 질문

“extends 및 super” 강의는 무료인가요?

네 — “extends 및 super” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Java Academy 강의 전체를 잠금 해제할 수 있습니다. Java Academy 강의에는 총 3개의 강의가 포함되어 있습니다.

“extends 및 super”에서 뭘 배우나요?

extends로 기반 클래스를 재사용하고 super로 부모 생성자나 메서드를 호출합니다. 예제는 작고 읽기 쉽게 유지합니다. 브라우저에서 직접 실행하는 실습 코드로 Java Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Java Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Java Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 3개 중 1번째 강의입니다.

“extends 및 super” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Java Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Java Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. extends 및 super
  2. 메서드 오버라이딩
  3. 다형성 및 동적 바인딩
← Java Academy(으)로 돌아가기