자바의 상속
중요한 용어:
수퍼 클래스: 기능이 상속되는 클래스를 수퍼 클래스(또는 기본 클래스 또는 상위 클래스)라고 합니다.
하위 클래스: 다른 클래스를 상속하는 클래스를 하위 클래스(또는 파생 클래스, 확장 클래스 또는 자식 클래스)라고 합니다. 하위 클래스는 상위 클래스 필드 및 메서드 외에 자체 필드 및 메서드를 추가할 수 있습니다.
재사용성: 상속은 "재사용성"개념을 지원합니다. 즉, 새 클래스를 만들고자 할 때 원하는 코드 중 일부를 포함하는 클래스가 이미 있는 경우 기존 클래스에서 새 클래스를 파생할 수 있습니다. 이렇게 함으로써 우리는 기존 클래스의 필드와 메소드를 재사용하고 있습니다.
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 클래스의 객체가 생성되면 슈퍼클래스의 모든 메소드와 필드의 복사본이 이 객체의 메모리를 획득합니다. 그렇기 때문에 하위 클래스의 객체를 사용하여 상위 클래스의 멤버에도 액세스할 수 있습니다.
Reference
이 문제에 관하여(자바의 상속), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/akhilreddy0401/inheritance-in-java-49n4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)