3:1:15

package TESTA;

public class Sub implements SuperA,SuperB {
	public void Do() {
		SuperB.super.Do();
	};
}
package TESTA;

public interface SuperA {
	default void Do() {
		System.out.println("SuperA");
	}
}
package TESTA;

public interface SuperB {
	default void Do() {
		System.out.println("SuperB");
	}
}
package TESTA;

public class Do {
	public static void main(String[] args) {
		Sub S = new Sub();
		S.Do();
		
		SuperA A = (SuperA)S;
		A.Do();
		A.DoA();
//		A.DoB();
		
		
	}
}

extends 뒤에 여러개가 있으면 그 여러개는 인터페이스라고 알수 있다,

인터페이스와 상속의 코드 연습형의 .완.성.형

[ 실전 ] 도서관 대여 프로그램을 만들어 봅시다 ^_^.

학습목표 : 클레스와 인터페이스를 같이 갈아 넣는 방법을 익히다.

이렇게 쓰다(아이 써) : extends SuperClass implement InterfaceClass : 앞에 익스텐즈를 쓰고 뒤에 임플리멘츠를 쓰다.

구동 목표 : 책이 순서대로 대여 되는 도서관 프로그램.

계념의 구조 : 책장에 반듯이 가장 왼쪽에 책을 넣고 가장 오른쪽으로 책을 꺼낼수 있다.

책을 꽃고 맨 앞의 책만 꺼낼수 있다. Queue 구조.

  1. Shelf(선반)을 상속 받아서 BookShelf로 기능을 “확장”하여 사용하고. Queue에는 기능이 있다.

코드의 구조 :

  1. 책의 정보를 저장할 공간이 shelf를 기반으로 ArrayList 구조로 구현 .
  2. Queue(큐) 인터페이스를 구현.
    1. Queue란 FIFO(First Input First Out)구조로 저장되는 방식 : 선입선출
      1. 선입선출이란 먼저 입력된 데이터가 먼저 출력되는것을 말합니다.(오래된 데이터부터 출력)
  3. Shelf 클래스를 상속 받고 Queue를 구현합니다.
package library_A;

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 library_A;

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 library_A;

public interface Queue {
	void enQueue(String title);
	String deQueue();
	
	int getSize();
	
}
package library_A;

import java.util.ArrayList;

public class Shelf {
	protected ArrayList<String> shelf ; // 상속을 받을수 있어요.
	
	public Shelf() {
		shelf = new ArrayList<String>();
		// 생성자에서 맴버변수를 초기화 하듯이 aarrayList를 초기화 하는게 좋습니다 ^_^.
	}
	public ArrayList<String> getShelf(){
		return shelf;
	}
	public int getCount() {
		return shelf.size();
	}
}

간단한 프로그램 만들기

조금더 구조를 분석하기는 내일 이어서

 


전문 용어


 

에러 메세지


학습 시간


 

캠 스터디


공부 모임

1) 카카오톡 오픈 채팅방

  - 모르는것을 질문하거나

  - 이해가 가지 않는 부분을 다른 분들의 블로그에서 참고하기 용도

2) 구루미 온라인 독서실

  - 학습 시간을 관리 하거나 경쟁 하는 용도 

 

온라인 강의 주소

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

 

+ Recent posts