JAVA

[JAVA] 상속

준몽쓰 2025. 3. 20. 00:50

■ 상속

extends 키워드를 사용하고 대상은 하나만 선택 가능하다.

 

ex) Animal , Pet 부모 클래스 둘 중 하나만 선택해야함. 두 개오면 뭘 불러와야 할 지 모름

class Dog extends Animal Pet

 

Car 클래스는 부모클래스이고 GasCar는 자식 클래스이다.

public class Car {
   public void move() {
       System.out.println("차를 이동합니다.");
      }
  }
public class GasCar extends Car {
   public void fillUp() {
      System.out.println("기름을 주유합니다.");
    }
 }
public class CarMain {
  public static void mian(String[] args) {
    
    GasCar gasCar = new GasCar();
    gasCar.move();
    gasCar.fillUp();
   }
 }

 

extends Car를 사용해서 부모 클래스인 Car를 상속 받는다. 덕분에 GasCar에서도 move()를 사용할 수 있다.

처음에 move()가 GasCar에 있는지를 확인하고 없으면 부모인 Car한테가 move() 기능이 있는지 본다. 있으면 사용 가능하다. 이게 상속.

 

■ 상속과 메서드 오버라이딩

부모 타입의 기능을 자식에서 다르게 재정의 하고 싶을 수 있다. 예를 들어 Car.move() 기능이 있는데 출력 내용을 변경하고 싶을 때 부모에게서 상속 받은 기능을 자식이 재정의 하는 것을 메서드 오버라이딩(Overriding)이라한다.