상속과 오버라이딩

상속(extends, inheritance)

상속이란 자식 클래스(서브 클래스)에서 부모클래스(슈퍼 클래스)의 필드와 메소드를 참조하여 쓸 수 있게 해준다. 기본적으로 하나의 클래스에 하나의 슈퍼 클래스 밖에 상속 할 수 없다.

Class Vehicle {

    public int speed;
    
    public int getSpeed() {
        return speed;
    }
    public void setSpeed(int speed) {
        this.speed = speed;
    }
    
}

class Car extends Vehicle {

}

public class Test {

    public static void main(String[] args) {

        Car A = new Car();
        A.getSpeed();
    }
}

Car클래스에는 getSpeed메소드가 없지만 상속된 Vehicle에 getspeed메소드가 있기 때문에 사용 가능하다.

상속의 특징은 다음과 같다.
상속(부모->자식)

  1. 부모꺼는 내꺼다.
  2. private 선언한 것은 상속이 안된다.
  3. protected 선언한것은 상속이 된다.
  4. 자식꺼는 자식꺼다.
  5. 부모도가지고있고 나도 같은 객체를 가지고 있으면 내꺼쓴다.

오버 라이딩(Override)

슈퍼 클래스에 존재하는 필드나 메소드를 서브 클래스에서 재정의하여 사용할 수 있다.

오버 라이딩을 통한 슈퍼 클래스를 생성할 때는 super 키워드를 사용한다.

오버라이딩을 위해 필드나 메소드를 정의할 때 바로 위 상단에 @Override 문구를 넣어주면 오타를 방지할 수 있다. (슈퍼 클래스에 존재하지 않은 메소드를 오버라이드 하려고하면 컴파일 과정에서 에러 발생)

Comment and share

  • page 1 of 1

Hyeon Soo Ahn

author.bio


author.job