자바의 상속

2607 단어
상속은 OOP(객체 지향 프로그래밍)의 중요한 기둥입니다. 이것은 한 클래스가 다른 클래스의 기능(필드 및 메소드)을 상속하도록 허용하는 Java의 메커니즘입니다.

중요한 용어:

수퍼 클래스: 기능이 상속되는 클래스를 수퍼 클래스(또는 기본 클래스 또는 상위 클래스)라고 합니다.
하위 클래스: 다른 클래스를 상속하는 클래스를 하위 클래스(또는 파생 클래스, 확장 클래스 또는 자식 클래스)라고 합니다. 하위 클래스는 상위 클래스 필드 및 메서드 외에 자체 필드 및 메서드를 추가할 수 있습니다.
재사용성: 상속은 "재사용성"개념을 지원합니다. 즉, 새 클래스를 만들고자 할 때 원하는 코드 중 일부를 포함하는 클래스가 이미 있는 경우 기존 클래스에서 새 클래스를 파생할 수 있습니다. 이렇게 함으로써 우리는 기존 클래스의 필드와 메소드를 재사용하고 있습니다.
Java에서 상속을 사용하는 방법

상속에 사용되는 키워드는 extends입니다.

구문:

클래스 파생 클래스는 기본 클래스를 확장합니다.
{
//메서드와 필드
}
예시:
아래의 상속 예시에서 Bicycle 클래스는 베이스 클래스, MountainBike 클래스는 Bicycle 클래스를 확장한 파생 클래스, Test 클래스는 프로그램을 실행하기 위한 드라이버 클래스이다.

자바
//설명을 위한 자바 프로그램
//상속의 개념

//기본 클래스

클래스 자전거 {

// the Bicycle class has two fields

public int gear;

public int speed;


// the Bicycle class has one constructor

public Bicycle(int gear, int speed)

{

    this.gear = gear;

    this.speed = speed;

}


// the Bicycle class has three methods

public void applyBrake(int decrement)

{

    speed -= decrement;

}


public void speedUp(int increment)

{

    speed += increment;

}


// toString() method to print info of Bicycle

public String toString()

{

    return ("No of gears are " + gear + "\n"

            + "speed of bicycle is " + speed);

}

}

//파생 클래스

클래스 MountainBike는 자전거를 확장합니다 {

// the MountainBike subclass adds one more field

public int seatHeight;


// the MountainBike subclass has one constructor

public MountainBike(int gear, int speed,

                    int startHeight)

{

    // invoking base-class(Bicycle) constructor

    super(gear, speed);

    seatHeight = startHeight;

}


// the MountainBike subclass adds one more method

public void setHeight(int newValue)

{

    seatHeight = newValue;

}


// overriding toString() method

// of Bicycle to print more info

@Override public String toString()

{

    return (super.toString() + "\nseat height is "

            + seatHeight);

}

}

//드라이버 클래스

공개 클래스 테스트 {

public static void main(String args[])

{


    MountainBike mb = new MountainBike(3, 100, 25);

    System.out.println(mb.toString());

}

}
산출
기어의 수는 3입니다
자전거의 속도는 100입니다
좌석 높이는 25입니다
위의 프로그램에서 MountainBike 클래스의 객체가 생성되면 슈퍼클래스의 모든 메소드와 필드의 복사본이 이 객체의 메모리를 획득합니다. 그렇기 때문에 하위 클래스의 객체를 사용하여 상위 클래스의 멤버에도 액세스할 수 있습니다.

좋은 웹페이지 즐겨찾기