JAVA/Java2021-2
클래스 상속과 인터페이스 구현 함께 사용
RoarinGom
2021. 11. 11. 23:56
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();
}
}