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)이라한다.