코딩하는 몽구리

상속 본문

Java

상속

코딩구리 2023. 11. 23. 23:19

상속은 코드 중복을 제거하여 클래스를 간결하게 구현할 수 있다.

상속이 주는 장점

  • 클래스의 간결화 - 멤버의 중복 작성 불필요
  • 클래스 관리 용이 - 클래스들의 계층적 분류
  • 소프트웨어의 생산성 향상 - 클래스 재사용과 확장 용이

자바의 상속 선언

  • 자바에서는 부모 클래스를 슈퍼클래스(super class), 상속받는 자식 클래스를 서브 클래스(sub class)라고 부른다.
  • 상속을 선언할 때는 확장한다는 의미를 가진 extends 키워드를 사용한다.

상속과 객체

부모클래스 생성 (MongulChicken)

public class MongulChicken {
    protected int no;
    protected String name;

    public MongulChicken(int no, String name){ // 생성자
        this.no = no;
        this.name = name;
    }

    public void takeHallOrder(){
        System.out.printf("%d호 %s점 홀 주문 받음%n", no, name);
    }
}

자식 클래스 MongulChickenDT 만들기

public class MongulChickenDT extends MongulChicken{
    private boolean driveThruOpen = true;

    public MongulChickenDT(int no, String name){
        super(no, name);
    }

    public void setDriveThruOpen(boolean driveThruOpen){
        this.driveThruOpen = driveThruOpen;
    }

    public void takeDTOrder(){
        System.out.printf("%d호 %s점 드라이브스루 주문 %s%n",
                no, name,
                (driveThruOpen ? "받음" : "불가"));
    }

}

Main 클래스

public class Main {
    public static void main(String[] args) {
        MongulChickenDT dtStore1 = new MongulChickenDT(108, "부산");

        dtStore1.takeHallOrder();

        dtStore1.takeDTOrder();
        dtStore1.setDriveThruOpen(false);
        dtStore1.takeDTOrder();
    }
}

부모클래스 MongulChicken 클래스의 요소들을 갖고 있음

'Java' 카테고리의 다른 글

[Java] 추상클래스  (0) 2024.01.01
상속  (0) 2023.12.11
[Java]객체 배열  (2) 2023.11.22
생성자(constructor)  (2) 2023.11.22
클래스와 객체  (2) 2023.11.22