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 클래스의 요소들을 갖고 있음