[TIL] JAVA - 5일차

배고픈메꾸리·2021년 1월 22일
0

SSAFY

목록 보기
4/22

클래스 다이어그램
모양에따라 접근제어자 달라짐
default (파란 세모)
+ public (초록 동그라미)
- private (빨간네모)
# protected
_ final 인듯???

@붙은애는 한글 작성하면

체 붙은건 고정폭
영어2글자가 한글 1글자

book CRUD

Book 클래스 만들고
Book 목록을 가지고 있는 클래스 (BookManager)를 만들거야

자료구조중에 가장 빠른 자료구조가 배열이다 .
단점은 초기에 크기를 정해야 한다.

속도보다는 편한걸 사용하고 싶다 = > Set Map List 등등

size 가 몇개 넣었는지에 대한 변수임

add
public void add(Book book){
	if(size < MAX_SIZE) {
	books[size++] = book;
    }else{
    	System.out.println("꽉찼다");
    }
}

remove
public void remove(String inbn){
	for (int i = 0 ; i < books.legnth; i++){
	    if(isbn.equals(books[i].getIsbn())){
        	//삭제
            //books[] = books[size-1];  맨 마지막 데이터를 삭제할 칸에 옮김
            //System.arraycopy(원본,읽을 위치, 붙여넣을위치, 붙여넣을곳,길이);  뭉텅이로 복사
            
            System.arraycopy(books,i+1, books, i, size-i-1);
            size --;
            return;
            }
    	}
    	System.out.println("없다.");
}

getList
public Book[] getList(){
	Book[] b = new Book[size];
    	System.arraycopy(books,0,b,0,size);
	return b;
}
bm.add(new Book("21424", "Java Pro" , "김하나" ,"jaen.kr " , 15000, "Java  기본 문법")); // bm
bm.add(new Book("35355" , "분석설계 " , "소나무" ,"jaen.kr " , 30000 , "SW 모델링"));

Book[] books = bm.getList();
for (int i = 0 ; i < books.length ; i++){
System.out.println(books);
}

순서

변수
기본생성자
생성자
메소드
getter setter

싱글턴

외부에서 접근하지 못하게 생성자를 private로 변경
static 멤버는 객체생성 없이 사용할수 있음 (Class명.멤버명) (Math.abs(-3) 처럼 객체 생성 없이 사용)
static 메소드는 static 멤버랑만 놀수 있음 (bm을 스태틱으로)

BookManager
private static BookManager bm;

public static BookManager getInstance(){
	if(bm == null){
		bm = new BookManager();
    }
    return bm;
}

BookTest
BookManage bm = BookManager.getInstance();

선언하고자 하는 객체 private statice 선언
생성자 private 선언
객체를 받아오는 메소드 public static 선언

profile
FE 개발자가 되자

0개의 댓글