반응형
41. 인터페이스의 요소들 - 2
| 여러 개의 인터페이스 구현하기
인터페이스는 구현 코드가 없으므로 하나의 클래스가 여러 인터페이스를 구현할 수 있음
디폴트 메서드 이름이 중복되는 경우 재정의함.
| 인터페이스 상속
인터페이스 간에도 상속이 가능함
구현이 없으므로, extends 뒤에 여러 인터페이스를 상속받을 수있음
구현 내용이 없으므로 타입 상속이라 함.
package bookshelf;
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();
}
}
package bookshelf;
public interface Queue {
void enQueue(String title);
String deQueue();
int getSize();
}
package bookshelf;
import java.util.ArrayList;
public class Shelf {
protected ArrayList<String> shelf;
public Shelf() {
shelf = new ArrayList<String>();
}
public ArrayList<String> getShelf(){
return shelf;
}
public int getCount() {
return shelf.size();
}
}
package bookshelf;
public class BookShelfTest {
public static void main(String[] args) {
Queue bookQueue = new BookShelf();
bookQueue.enQueue("Źé»ê¸Æ1");
bookQueue.enQueue("Źé»ê¸Æ2");
bookQueue.enQueue("Źé»ê¸Æ3");
System.out.println(bookQueue.deQueue());
System.out.println(bookQueue.deQueue());
System.out.println(bookQueue.deQueue());
}
}
42. 코딩해 보세요
package chapter9.sorting;
public class BubbleSort implements Sort{
@Override
public void ascending(int[] arr) {
System.out.println("BubbleSort ascending");
}
@Override
public void descending(int[] arr) {
System.out.println("BubbleSort descending");
}
@Override
public void description() {
Sort.super.description();
System.out.println("BubbleSort ÀÔ´Ï´Ù");
}
}
package chapter9.sorting;
import java.io.IOException;
public class SortTest {
public static void main(String[] args) throws IOException {
System.out.println("정렬방식을 선택 하세요.");
System.out.println("B : BubbleSort ");
System.out.println("H : HeapSort ");
System.out.println("Q : QuickSort ");
int ch = System.in.read();
Sort sort = null;
if(ch == 'B' || ch == 'b'){
sort = new BubbleSort();
}
else if(ch == 'H' || ch == 'h'){
sort = new HeapSort();
}
else if(ch == 'Q'|| ch == 'q'){
sort = new QuickSort();
}
else{
System.out.println("지원되지 않는 기능입니다.");
return;
}
int[] arr = new int[10];
sort.ascending(arr);
sort.descending(arr);
sort.description();
}
}
package chapter9.sorting;
public interface Sort {
void ascending(int[] arr);
void descending(int[] arr);
default void description(){
System.out.println("숫자를 정렬하는 알고리즘 입니다");
}
}
자바 인강이 듣고 싶다면 =>https://bit.ly/3ilMbIO
반응형
'스프링, 자바' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 32회차 미션 (0) | 2020.09.10 |
---|---|
09. 운영체제 구조 - 사용자 모드와 커널 모드 (0) | 2020.09.09 |
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 30회차 미션 (0) | 2020.09.08 |
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 29회차 미션 (0) | 2020.09.07 |
[패스트캠퍼스 수강 후기] 자바 인강 100% 환급 챌린지 28회차 미션 (0) | 2020.09.06 |