Collection : 넣고 빼고의 집합
java.util 밑에있다.
java.lang -> Wrapper(포장) 하는 원시 데이터 클래스
https://docs.oracle.com/javase/8/docs/api/
java api 8에서 java util의 AbstractCollection를 찾아 봤다.
abstract = 객체화 생성이 안됨, =>new ~~~ 가 불가하다는 뜻
=> 대표적으로 interface,abstract class 가있다
일반 class : 객체생성 가능 => new ~~
객체생성이 불가해 오류 발생
abstract class(추상클래스)는 언제 써야하나?
= 어떠한것을 구현할때 공장개념으로 미리 만듦
(미리만들어놓고 다른곳에서 사용할떄 가져오는 라이브러리 개념인가? 레퍼런스같은 느낌인가?)
비교를 위해
ArrayDeque 클래스를 사용해보았다
이렇게 만들어놓고
Collection_1 클래스에서 abstractColl 클래스를 상속받아 사용
상속 개념을 배우면서
다시 접근제한에 관해 복습했다
인터페이스를 만들어서 예시를 만들어보았다
public (abstract)생략 interface 라고 한다
abstract가 없으면 오류가 난다 왜지? 더 찾아봐야지 (검색)
commandiceCream에 아무것도 없기때문에 빨간줄이 생김
이렇게 해야할 일을 오버라이드 해주니 빨간줄이 사라졌다
다만 회사와 아이스크림 맛은 아이스크림 공장에 있고
판매점에서 만드는것은 아니기때문에
공장에도 다시 회사와 아이스크림 맛을 만들어줘야한다
이렇게 공장에서 만들면
이후
판매점에서 오버라이드 하지않아도 빨간줄이 없어진다...!
commandiceCream 인터페이스에있는 맛을 commandfactoryiceCream 클래스가 상속받고 그 맛을
icecreamSell_1 클래스가 상속받아서 판매 함
(검색) 근데 판매점에서 엄마는 외계인으로 지정했는데 Run 하면
왜 바나나맛 아이스크림이 콘솔에 뜨는거지? 오버라이드를 해야하나?
손님 클래스를 만들어서 사먹는다는 가정을 해봤다
하지만 이러면 수천명의 손님이 온다면?
하나하나 다 new 뭐시기를 할수가없다
자동화가 필요하다!!!
객체지향프로그래밍 (큰곳) -> (작은곳)
부모 (왼쪽) 자식 (오른쪽)
변수 :변수는 오른쪽에서 왼쪽으로 간다
cu 는 Customer_2()를 Customer_2에 대입
자바로 게임개발은 할수는있는데 사실상 불가
자바 call by value = > value -> value 값에서 값으로 이동
call by reference = > point (주소를 가리킴)-> point -> 주소값
java = jvm : window ,linux,unix,solaris,ibm 등등의 모든곳에서 사용가능
c#,C++,php,asp.... 등은 VM 이 없어서 대중화 X
손님이 아이스크림을 먹으려면 회사 이름부터 찾는다 -> 무슨맛을 찾는다
network , io , instance 등등은 try catch 사용해야한다
Class.forName 과 newInstance 메소드 배움!
https://blog.naver.com/dpsk331/222272268712
https://blog.naver.com/redwavesoft/222290827114
참고하여 (복습)
// servlet life cycle(생명주기)
// was start -> init(한번실행) dohead(get,post) ->doget,dopsot -> destroy