본문 바로가기

JAVA/Java2021-2

클래스 상속과 인터페이스 구현 함께 사용

extends 부터하고 implements 한다.

package Basic_Grammar.chap3_OOP.ch12_inherit_interface;

public class BookShelfTest {
    public static void main(String[] args) {
        Queue bookQueue=new BookShelf();
        bookQueue.enQueue("토지1");
        bookQueue.enQueue("토지2");
        bookQueue.enQueue("토지3");
        bookQueue.enQueue("토지4");
        bookQueue.enQueue("토지5");

        System.out.println(bookQueue.getSize());
        System.out.println(bookQueue.deQueue());
        System.out.println(bookQueue.deQueue());
        System.out.println(bookQueue.deQueue());
        System.out.println(bookQueue.deQueue());
        System.out.println(bookQueue.deQueue());
    }
}

package Basic_Grammar.chap3_OOP.ch12_inherit_interface;

import java.util.ArrayList;

public class Shelf {
    protected ArrayList<String> shelf;

    //생성자가 호출 될 때 멤버변수 생성하는 것 추천
    public Shelf(){
        shelf=new ArrayList<>();
    }
    public ArrayList<String> getShelf(){
        return shelf;
    }

    public int getCount(){
        return shelf.size();
    }
}
package Basic_Grammar.chap3_OOP.ch12_inherit_interface;

public interface Queue {
    void enQueue(String title);
    String deQueue();

    int getSize();
}
package Basic_Grammar.chap3_OOP.ch12_inherit_interface;

public class BookShelf extends Shelf implements Queue{
    @Override
    public void enQueue(String title) {
        shelf.add(title);
    }

    @Override
    public String deQueue() {
        return shelf.remove(0);
    }

    @Override
    public int getSize() {
        return getCount();
    }
}